public class TransferLeadershipOp extends Operation implements RaftSystemOperation, IdentifiedDataSerializable, BiConsumer<Object,Throwable>
GENERIC_PARTITION_ID| Constructor and Description |
|---|
TransferLeadershipOp() |
TransferLeadershipOp(CPGroupId groupId,
CPMember destination) |
| Modifier and Type | Method and Description |
|---|---|
void |
accept(Object response,
Throwable throwable) |
CallStatus |
call()
Call the operation and returns the CallStatus.
|
int |
getClassId()
Returns type identifier for this class.
|
int |
getFactoryId()
Returns DataSerializableFactory factory ID for this class.
|
String |
getServiceName() |
ExceptionAction |
onInvocationException(Throwable throwable)
Called when an
Exception/Error is thrown
during an invocation. |
protected void |
readInternal(ObjectDataInput in) |
boolean |
validatesTarget() |
protected void |
writeInternal(ObjectDataOutput out) |
afterRun, beforeRun, executedLocally, getCallerAddress, getCallerUuid, getCallId, getCallTimeout, getClientCallId, getConnection, getInvocationTime, getLogger, getNodeEngine, getOperationResponseHandler, getPartitionId, getReplicaIndex, getResponse, getService, getWaitTimeout, isUrgent, logError, onExecutionFailure, onSetCallId, readData, requiresExplicitServiceName, returnsResponse, run, sendResponse, setCallerUuid, setClientCallId, setNodeEngine, setOperationResponseHandler, setPartitionId, setReplicaIndex, setService, setServiceName, setValidateTarget, setWaitTimeout, toString, toString, writeDataclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitreadData, writeDataandThenpublic CallStatus call() throws Exception
OperationOperation.run() methods will be replaced by call
methods.
The call method looks very much like the Operation.run() method and it is
very close to Runnable.run() and Callable.call().
The main difference between a run and call, is that the returned
CallStatus from the call can tell something about the actual execution.
For example it could tell that some waiting is required in case of a
BlockingOperation. Or that the actual execution work is
offloaded to some executor in case of an
Offloadable
EntryOperation.
In the future new types of CallStatus are expected to be added, e.g. for
interleaving.
In the future it is very likely that for regular Operation that want to
return a concrete response, the actual response can be returned directly.
In this case we'll change the return type to Object to prevent
forcing the response to be wrapped in a CallStatus.DONE_RESPONSE
monad since that would force additional litter to be created.call in class OperationException - if something failed while executing 'call'.Operation.run()public void accept(Object response, Throwable throwable)
accept in interface BiConsumer<Object,Throwable>public final boolean validatesTarget()
validatesTarget in class Operationpublic ExceptionAction onInvocationException(Throwable throwable)
OperationException/Error is thrown
during an invocation. Invocation process will continue, it will retry
or fail according to returned ExceptionAction.
This method is called on caller side of the invocation.
onInvocationException in class Operationthrowable - Exception/Error thrown during
invocationExceptionActionpublic final String getServiceName()
getServiceName in class Operationpublic int getFactoryId()
IdentifiedDataSerializablegetFactoryId in interface IdentifiedDataSerializablepublic int getClassId()
IdentifiedDataSerializablegetClassId in interface IdentifiedDataSerializableprotected void writeInternal(ObjectDataOutput out) throws IOException
writeInternal in class OperationIOExceptionprotected void readInternal(ObjectDataInput in) throws IOException
readInternal in class OperationIOExceptionCopyright © 2019 Hazelcast, Inc.. All rights reserved.