com.hazelcast.concurrent.lock.operations
Class AwaitOperation

java.lang.Object
  extended by com.hazelcast.spi.Operation
      extended by com.hazelcast.spi.AbstractOperation
          extended by com.hazelcast.concurrent.lock.operations.AwaitOperation
All Implemented Interfaces:
DataSerializable, IdentifiedDataSerializable, BackupAwareOperation, RemotePropagatable<Operation>, PartitionAwareOperation, WaitSupport

public class AwaitOperation
extends AbstractOperation
implements WaitSupport, BackupAwareOperation


Field Summary
static int ANY_THREAD
           
static long DEFAULT_LOCK_TTL
           
protected  Data key
           
protected  ObjectNamespace namespace
           
protected  Object response
           
protected  long threadId
           
protected  long ttl
           
 
Constructor Summary
AwaitOperation()
           
AwaitOperation(ObjectNamespace namespace, Data key, long threadId, long timeout, String conditionId)
           
 
Method Summary
 void beforeRun()
           
 int getAsyncBackupCount()
           
 Operation getBackupOperation()
          Creates the BackupOperation responsible for making the backup.
 int getFactoryId()
          Returns DataSerializableFactory factory id for this class.
 int getId()
          Returns type identifier for this class.
 Data getKey()
           
protected  LockStoreImpl getLockStore()
           
 Object getResponse()
           
 String getServiceName()
           
 int getSyncBackupCount()
           
 ConditionKey getWaitKey()
           
 void onWaitExpire()
           
protected  void readInternal(ObjectDataInput in)
           
 void run()
           
 void setAsyncBackup(boolean asyncBackup)
           
 boolean shouldBackup()
          Checks if a backup needs to be made.
 boolean shouldWait()
           
protected  void writeInternal(ObjectDataOutput out)
           
 
Methods inherited from class com.hazelcast.spi.AbstractOperation
afterRun, returnsResponse
 
Methods inherited from class com.hazelcast.spi.Operation
getCallerAddress, getCallerUuid, getCallId, getCallTimeout, getConnection, getExecutorName, getInvocationTime, getLogger, getNodeEngine, getPartitionId, getReplicaIndex, getResponseHandler, getService, getWaitTimeout, isUrgent, logError, onException, readData, setCallerUuid, setExecutorName, setNodeEngine, setPartitionId, setReplicaIndex, setResponseHandler, setService, setServiceName, setValidateTarget, setWaitTimeout, toString, validatesTarget, writeData
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface com.hazelcast.spi.WaitSupport
getWaitTimeout
 
Methods inherited from interface com.hazelcast.spi.BackupAwareOperation
getAsyncBackupCount, getSyncBackupCount
 
Methods inherited from interface com.hazelcast.spi.PartitionAwareOperation
getPartitionId
 
Methods inherited from interface com.hazelcast.nio.serialization.DataSerializable
readData, writeData
 

Field Detail

DEFAULT_LOCK_TTL

public static final long DEFAULT_LOCK_TTL
See Also:
Constant Field Values

ANY_THREAD

public static final int ANY_THREAD
See Also:
Constant Field Values

namespace

protected ObjectNamespace namespace

key

protected Data key

threadId

protected long threadId

ttl

protected long ttl

response

protected transient Object response
Constructor Detail

AwaitOperation

public AwaitOperation()

AwaitOperation

public AwaitOperation(ObjectNamespace namespace,
                      Data key,
                      long threadId,
                      long timeout,
                      String conditionId)
Method Detail

beforeRun

public void beforeRun()
               throws Exception
Overrides:
beforeRun in class AbstractOperation
Throws:
Exception

run

public void run()
         throws Exception
Specified by:
run in class Operation
Throws:
Exception

getWaitKey

public ConditionKey getWaitKey()
Specified by:
getWaitKey in interface WaitSupport

shouldWait

public boolean shouldWait()
Specified by:
shouldWait in interface WaitSupport

shouldBackup

public boolean shouldBackup()
Description copied from interface: BackupAwareOperation
Checks if a backup needs to be made.

If a call has not made any change, e.g. an AtomicLong increment with 0, no backup needs to be made.

Specified by:
shouldBackup in interface BackupAwareOperation
Returns:
true if a backup needs to be made, false otherwise.

getBackupOperation

public Operation getBackupOperation()
Description copied from interface: BackupAwareOperation
Creates the BackupOperation responsible for making the backup.

Specified by:
getBackupOperation in interface BackupAwareOperation
Returns:
the created BackupOperation.

onWaitExpire

public void onWaitExpire()
Specified by:
onWaitExpire in interface WaitSupport

getId

public int getId()
Description copied from interface: IdentifiedDataSerializable
Returns type identifier for this class. Id should be unique per DataSerializableFactory.

Specified by:
getId in interface IdentifiedDataSerializable
Returns:
type id

writeInternal

protected void writeInternal(ObjectDataOutput out)
                      throws IOException
Throws:
IOException

readInternal

protected void readInternal(ObjectDataInput in)
                     throws IOException
Throws:
IOException

getResponse

public final Object getResponse()
Overrides:
getResponse in class AbstractOperation

getLockStore

protected final LockStoreImpl getLockStore()

getSyncBackupCount

public final int getSyncBackupCount()

getAsyncBackupCount

public final int getAsyncBackupCount()

setAsyncBackup

public final void setAsyncBackup(boolean asyncBackup)

getServiceName

public final String getServiceName()
Overrides:
getServiceName in class Operation

getKey

public final Data getKey()

getFactoryId

public int getFactoryId()
Description copied from interface: IdentifiedDataSerializable
Returns DataSerializableFactory factory id for this class.

Specified by:
getFactoryId in interface IdentifiedDataSerializable
Returns:
factory id


Copyright © 2015 Hazelcast, Inc.. All Rights Reserved.