public abstract class Locking extends Protocol
LockService
is placed on a channel. LockService talks to a subclass of Locking
via events.CENTRAL_LOCK
,
PEER_LOCK
Modifier and Type | Class and Description |
---|---|
protected class |
Locking.ClientCondition |
protected class |
Locking.ClientLock |
static class |
Locking.LockingHeader |
protected static class |
Locking.Request |
protected class |
Locking.ServerCondition |
protected class |
Locking.ServerLock
Server side queue for handling of lock requests (lock, release).
|
protected static class |
Locking.Type |
Modifier and Type | Field and Description |
---|---|
protected boolean |
bypass_bundling |
protected java.util.Map<java.lang.String,java.util.Map<Owner,Locking.ClientLock>> |
client_locks |
protected Address |
local_addr |
protected java.util.Set<LockNotification> |
lock_listeners |
protected java.util.concurrent.ConcurrentMap<java.lang.String,Locking.ServerLock> |
server_locks |
protected View |
view |
Constructor and Description |
---|
Locking() |
Modifier and Type | Method and Description |
---|---|
void |
addLockListener(LockNotification listener) |
protected Locking.ClientLock |
createLock(java.lang.String lock_name) |
java.lang.Object |
down(Event evt)
An event is to be sent down the stack.
|
java.lang.String |
getAddress() |
boolean |
getBypassBundling() |
protected Locking.ClientLock |
getLock(java.lang.String name) |
protected Locking.ClientLock |
getLock(java.lang.String name,
boolean create_if_absent) |
protected Locking.ClientLock |
getLock(java.lang.String name,
Owner owner,
boolean create_if_absent) |
protected Owner |
getOwner() |
java.lang.String |
getView() |
protected void |
handleAwaitRequest(java.lang.String lock_name,
Owner owner) |
protected void |
handleCreateAwaitingRequest(java.lang.String lock_name,
Owner owner) |
protected void |
handleCreateLockRequest(java.lang.String lock_name,
Owner owner) |
protected void |
handleDeleteAwaitingRequest(java.lang.String lock_name,
Owner owner) |
protected void |
handleDeleteAwaitRequest(java.lang.String lock_name,
Owner owner) |
protected void |
handleDeleteLockRequest(java.lang.String lock_name) |
protected void |
handleLockDeniedResponse(java.lang.String lock_name,
Owner owner) |
protected void |
handleLockGrantedResponse(java.lang.String lock_name,
Owner owner,
Address sender) |
protected void |
handleLockRequest(Locking.Request req) |
protected void |
handleSignalRequest(Locking.Request req) |
protected void |
handleSignalResponse(java.lang.String lock_name,
Owner owner) |
protected void |
handleView(View view) |
protected void |
notifyAwaited(java.lang.String lock_name,
Owner owner) |
protected void |
notifyAwaiting(java.lang.String lock_name,
Owner owner) |
protected void |
notifyLockCreated(java.lang.String lock_name) |
protected void |
notifyLockDeleted(java.lang.String lock_name) |
protected void |
notifyLocked(java.lang.String lock_name,
Owner owner) |
protected void |
notifyUnlocked(java.lang.String lock_name,
Owner owner) |
java.lang.String |
printLocks() |
protected void |
removeClientLock(java.lang.String lock_name,
Owner owner) |
void |
removeLockListener(LockNotification listener) |
protected abstract void |
sendAwaitConditionRequest(java.lang.String lock_name,
Owner owner) |
protected abstract void |
sendDeleteAwaitConditionRequest(java.lang.String lock_name,
Owner owner) |
protected abstract void |
sendGrantLockRequest(java.lang.String lock_name,
Owner owner,
long timeout,
boolean is_trylock) |
protected void |
sendLockResponse(Locking.Type type,
Owner dest,
java.lang.String lock_name) |
protected abstract void |
sendReleaseLockRequest(java.lang.String lock_name,
Owner owner) |
protected void |
sendRequest(Address dest,
Locking.Type type,
java.lang.String lock_name,
Owner owner,
long timeout,
boolean is_trylock) |
protected abstract void |
sendSignalConditionRequest(java.lang.String lock_name,
boolean all) |
protected void |
sendSignalResponse(Owner dest,
java.lang.String lock_name) |
void |
setBypassBundling(boolean bypass_bundling) |
void |
unlockAll() |
java.lang.Object |
up(Event evt)
An event was received from the layer below.
|
destroy, downThreadEnabled, dumpStats, enableStats, getConfigurableObjects, getDownProtocol, getId, getLevel, getName, getProperties, getProtocolStack, getSocketFactory, getThreadFactory, getTransport, getUpProtocol, getValue, init, isErgonomics, printStats, providedDownServices, providedUpServices, requiredDownServices, requiredUpServices, resetStats, setDownProtocol, setErgonomics, setId, setLevel, setProperties, setPropertiesInternal, setProperty, setProtocolStack, setSocketFactory, setUpProtocol, setValue, setValues, start, statsEnabled, stop, upThreadEnabled
protected boolean bypass_bundling
protected Address local_addr
protected View view
protected final java.util.concurrent.ConcurrentMap<java.lang.String,Locking.ServerLock> server_locks
protected final java.util.Map<java.lang.String,java.util.Map<Owner,Locking.ClientLock>> client_locks
protected final java.util.Set<LockNotification> lock_listeners
public boolean getBypassBundling()
public void setBypassBundling(boolean bypass_bundling)
public void addLockListener(LockNotification listener)
public void removeLockListener(LockNotification listener)
public java.lang.String getAddress()
public java.lang.String getView()
public java.lang.Object down(Event evt)
Protocol
down_prot.down()
. In case of a GET_ADDRESS event (which tries to
retrieve the stack's address from one of the bottom layers), the layer may need to send
a new response event back up the stack using up_prot.up()
.public java.lang.Object up(Event evt)
Protocol
down_prot.down()
or c) the event (or another event) is sent up
the stack using up_prot.up()
.protected Locking.ClientLock getLock(java.lang.String name)
protected Locking.ClientLock getLock(java.lang.String name, boolean create_if_absent)
public void unlockAll()
public java.lang.String printLocks()
protected void handleView(View view)
protected Locking.ClientLock createLock(java.lang.String lock_name)
protected Owner getOwner()
protected abstract void sendGrantLockRequest(java.lang.String lock_name, Owner owner, long timeout, boolean is_trylock)
protected abstract void sendReleaseLockRequest(java.lang.String lock_name, Owner owner)
protected abstract void sendAwaitConditionRequest(java.lang.String lock_name, Owner owner)
protected abstract void sendSignalConditionRequest(java.lang.String lock_name, boolean all)
protected abstract void sendDeleteAwaitConditionRequest(java.lang.String lock_name, Owner owner)
protected void sendRequest(Address dest, Locking.Type type, java.lang.String lock_name, Owner owner, long timeout, boolean is_trylock)
protected void sendLockResponse(Locking.Type type, Owner dest, java.lang.String lock_name)
protected void sendSignalResponse(Owner dest, java.lang.String lock_name)
protected void handleLockRequest(Locking.Request req)
protected void handleLockGrantedResponse(java.lang.String lock_name, Owner owner, Address sender)
protected void handleLockDeniedResponse(java.lang.String lock_name, Owner owner)
protected void handleAwaitRequest(java.lang.String lock_name, Owner owner)
protected void handleDeleteAwaitRequest(java.lang.String lock_name, Owner owner)
protected void handleSignalResponse(java.lang.String lock_name, Owner owner)
protected void handleSignalRequest(Locking.Request req)
protected void handleCreateLockRequest(java.lang.String lock_name, Owner owner)
protected void handleDeleteLockRequest(java.lang.String lock_name)
protected void handleCreateAwaitingRequest(java.lang.String lock_name, Owner owner)
protected void handleDeleteAwaitingRequest(java.lang.String lock_name, Owner owner)
protected Locking.ClientLock getLock(java.lang.String name, Owner owner, boolean create_if_absent)
protected void removeClientLock(java.lang.String lock_name, Owner owner)
protected void notifyLockCreated(java.lang.String lock_name)
protected void notifyLockDeleted(java.lang.String lock_name)
protected void notifyLocked(java.lang.String lock_name, Owner owner)
protected void notifyUnlocked(java.lang.String lock_name, Owner owner)
protected void notifyAwaiting(java.lang.String lock_name, Owner owner)
protected void notifyAwaited(java.lang.String lock_name, Owner owner)
Copyright ? 1998-2009 Bela Ban / Red Hat. All Rights Reserved.