org.infinispan.commands.control
Class StateTransferControlCommand

java.lang.Object
  extended by org.infinispan.commands.remote.BaseRpcCommand
      extended by org.infinispan.commands.control.StateTransferControlCommand
All Implemented Interfaces:
CacheRpcCommand, ReplicableCommand

public class StateTransferControlCommand
extends BaseRpcCommand

A control command to coordinate state transfer that may occur when nodes join or leave a cluster. It is used both in replicated mode and in distributed mode.

Since:
4.0
Author:
Manik Surtani, Vladimir Blagojevic, Dan Berindei , Mircea Markus

Nested Class Summary
static class StateTransferControlCommand.Type
           
 
Field Summary
static int COMMAND_ID
           
 
Fields inherited from class org.infinispan.commands.remote.BaseRpcCommand
cacheName
 
Constructor Summary
StateTransferControlCommand()
           
StateTransferControlCommand(String cacheName)
           
StateTransferControlCommand(String cacheName, StateTransferControlCommand.Type type, Address sender, int viewId)
           
StateTransferControlCommand(String cacheName, StateTransferControlCommand.Type type, Address sender, int viewId, Collection<InternalCacheEntry> state, Collection<LockInfo> lockInfo)
           
 
Method Summary
 byte getCommandId()
          Used by marshallers to convert this command into an id for streaming.
 Object[] getParameters()
          Used by marshallers to stream this command across a network
 StateTransferControlCommand.Type getType()
           
 void init(StateTransferManager stateTransferManager, Configuration configuration, DataContainer dataContainer, CommandsFactory commandsFactory)
           
 boolean isReturnValueExpected()
          If true, a return value will be provided when performed remotely.
 Object perform(InvocationContext ctx)
          Performs the primary function of the command.
 void setParameters(int commandId, Object[] parameters)
          Used by the CommandsFactory to create a command from raw data read off a stream.
 String toString()
           
 
Methods inherited from class org.infinispan.commands.remote.BaseRpcCommand
getCacheName, getOrigin, setOrigin
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

COMMAND_ID

public static final int COMMAND_ID
See Also:
Constant Field Values
Constructor Detail

StateTransferControlCommand

public StateTransferControlCommand()

StateTransferControlCommand

public StateTransferControlCommand(String cacheName)

StateTransferControlCommand

public StateTransferControlCommand(String cacheName,
                                   StateTransferControlCommand.Type type,
                                   Address sender,
                                   int viewId,
                                   Collection<InternalCacheEntry> state,
                                   Collection<LockInfo> lockInfo)

StateTransferControlCommand

public StateTransferControlCommand(String cacheName,
                                   StateTransferControlCommand.Type type,
                                   Address sender,
                                   int viewId)
Method Detail

init

public void init(StateTransferManager stateTransferManager,
                 Configuration configuration,
                 DataContainer dataContainer,
                 CommandsFactory commandsFactory)

perform

public Object perform(InvocationContext ctx)
               throws Throwable
Description copied from interface: ReplicableCommand
Performs the primary function of the command. Please see specific implementation classes for details on what is performed as well as return types. Important: this method will be invoked at the end of interceptors chain. It should never be called directly from a custom interceptor.

Parameters:
ctx - invocation context
Returns:
arbitrary return value generated by performing this command
Throws:
Throwable - in the event of problems.

getType

public StateTransferControlCommand.Type getType()

getCommandId

public byte getCommandId()
Description copied from interface: ReplicableCommand
Used by marshallers to convert this command into an id for streaming.

Returns:
the method id of this command. This is compatible with pre-2.2.0 MethodCall ids.

getParameters

public Object[] getParameters()
Description copied from interface: ReplicableCommand
Used by marshallers to stream this command across a network

Returns:
an object array of arguments, compatible with pre-2.2.0 MethodCall args.

setParameters

public void setParameters(int commandId,
                          Object[] parameters)
Description copied from interface: ReplicableCommand
Used by the CommandsFactory to create a command from raw data read off a stream.

Parameters:
commandId - command id to set. This is usually unused but *could* be used in the event of a command having multiple IDs, such as PutKeyValueCommand.
parameters - object array of args

toString

public String toString()
Overrides:
toString in class BaseRpcCommand

isReturnValueExpected

public boolean isReturnValueExpected()
Description copied from interface: ReplicableCommand
If true, a return value will be provided when performed remotely. Otherwise, a remote ResponseGenerator may choose to simply return null to save on marshalling costs.

Returns:
true or false

-->

Copyright © 2012 JBoss, a division of Red Hat. All Rights Reserved.