|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
interface Lock
A Lock embodies the lock state of a NodeId. It includes a set of owners and a list of waiters.
| Method Summary | |
|---|---|
void |
demote(Locker locker)
Downgrade a write lock to a read lock. |
void |
flushWaiter(Locker locker,
MemoryBudget mb,
int lockTableIndex)
Remove this locker from the waiter list. |
java.util.Set<LockInfo> |
getOwnersClone()
Get a new Set of the owners. |
java.util.List<LockInfo> |
getWaitersListClone()
Get a list of waiters for debugging and error messages. |
Locker |
getWriteOwnerLocker()
Return the locker that has a write ownership on this lock. |
boolean |
isOwnedWriteLock(Locker locker)
Return true if locker is an owner of this Lock and this is a write lock. |
boolean |
isOwner(Locker locker,
LockType lockType)
Return true if locker is an owner of this Lock for lockType, false otherwise. |
boolean |
isThin()
|
boolean |
isWaiter(Locker locker)
Return true if locker is a waiter on this Lock. |
LockAttemptResult |
lock(LockType requestType,
Locker locker,
boolean nonBlockingRequest,
MemoryBudget mb,
int lockTableIndex)
Attempts to acquire the lock and returns the LockGrantType. |
int |
nOwners()
|
int |
nWaiters()
|
java.util.Set<Locker> |
release(Locker locker,
MemoryBudget mb,
int lockTableIndex)
Releases a lock and moves the next waiter(s) to the owners. |
java.lang.String |
toString()
Debug dumper. |
Lock |
transfer(java.lang.Long nodeId,
Locker currentLocker,
Locker destLocker,
MemoryBudget mb,
int lockTableIndex)
Transfer a lock from one transaction to another. |
Lock |
transferMultiple(java.lang.Long nodeId,
Locker currentLocker,
Locker[] destLockers,
MemoryBudget mb,
int lockTableIndex)
Transfer a lock from one transaction to many others. |
| Method Detail |
|---|
java.util.List<LockInfo> getWaitersListClone()
void flushWaiter(Locker locker,
MemoryBudget mb,
int lockTableIndex)
java.util.Set<LockInfo> getOwnersClone()
boolean isOwner(Locker locker,
LockType lockType)
boolean isOwnedWriteLock(Locker locker)
boolean isWaiter(Locker locker)
int nWaiters()
int nOwners()
LockAttemptResult lock(LockType requestType,
Locker locker,
boolean nonBlockingRequest,
MemoryBudget mb,
int lockTableIndex)
throws DatabaseException
DatabaseException
java.util.Set<Locker> release(Locker locker,
MemoryBudget mb,
int lockTableIndex)
void demote(Locker locker)
Lock transfer(java.lang.Long nodeId,
Locker currentLocker,
Locker destLocker,
MemoryBudget mb,
int lockTableIndex)
throws DatabaseException
DatabaseException
Lock transferMultiple(java.lang.Long nodeId,
Locker currentLocker,
Locker[] destLockers,
MemoryBudget mb,
int lockTableIndex)
throws DatabaseException
DatabaseExceptionLocker getWriteOwnerLocker()
boolean isThin()
java.lang.String toString()
toString in class java.lang.Object
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||