|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface TStore<T>
Transaction Store: a place to save transactions A transaction consists of a number of operations. To use, first create a transaction id, and then seed the transaction with an initial operation. An executor service can then execute the transaction's operation, possibly pushing more operations onto the transaction as each step successfully completes. If a step fails, the stack can be unwound, undoing each operation.
Nested Class Summary | |
---|---|
static class |
TStore.TStatus
|
Method Summary | |
---|---|
long |
create()
Create a new transaction id |
void |
delete(long tid)
Remove the transaction from the store. |
Serializable |
getProperty(long tid,
String prop)
|
TStore.TStatus |
getStatus(long tid)
Get the state of a given transaction. |
List<Long> |
list()
list all transaction ids in store |
void |
pop(long tid)
Remove the last pushed operation from the given transaction. |
void |
push(long tid,
Repo<T> repo)
Update the given transaction with the next operation |
long |
reserve()
Reserve a transaction that is IN_PROGRESS or FAILED_IN_PROGRESS. |
void |
reserve(long tid)
|
void |
setProperty(long tid,
String prop,
Serializable val)
|
void |
setStatus(long tid,
TStore.TStatus status)
Update the state of a given transaction |
Repo<T> |
top(long tid)
Get the current operation for the given transaction id. |
void |
unreserve(long tid,
long deferTime)
Return the given transaction to the store |
TStore.TStatus |
waitForStatusChange(long tid,
EnumSet<TStore.TStatus> expected)
Wait for the satus of a transaction to change |
Method Detail |
---|
long create()
long reserve()
void reserve(long tid)
void unreserve(long tid, long deferTime)
tid
- deferTime
- Repo<T> top(long tid)
tid
- transaction id
void push(long tid, Repo<T> repo) throws StackOverflowException
tid
- the transaction idrepo
- the operation
StackOverflowException
void pop(long tid)
tid
- TStore.TStatus getStatus(long tid)
tid
- transaction id
void setStatus(long tid, TStore.TStatus status)
tid
- transaction idstatus
- execution statusTStore.TStatus waitForStatusChange(long tid, EnumSet<TStore.TStatus> expected)
tid
- transaction idvoid setProperty(long tid, String prop, Serializable val)
Serializable getProperty(long tid, String prop)
void delete(long tid)
tid
- the transaction idList<Long> list()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |