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