interface Lock
| Modifier and Type | Method and Description |
|---|---|
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.
|
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
DatabaseExceptionjava.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
DatabaseExceptionLock 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.ObjectCopyright (c) 2004,2008 Oracle. All rights reserved.