Package org.infinispan.stream.impl
Class StreamResponseCommand<R>
- java.lang.Object
-
- org.infinispan.commands.remote.BaseRpcCommand
-
- org.infinispan.stream.impl.StreamResponseCommand<R>
-
- Type Parameters:
R- the response type
- All Implemented Interfaces:
org.infinispan.commands.remote.CacheRpcCommand,ReplicableCommand
public class StreamResponseCommand<R> extends org.infinispan.commands.remote.BaseRpcCommandStream response command used to handle returning intermediate or final responses from the remote node
-
-
Field Summary
Fields Modifier and Type Field Description static byteCOMMAND_IDprotected booleancompleteprotected ClusterStreamManagercsmprotected Objectidprotected org.infinispan.commons.util.IntSetmissedSegmentsprotected Rresponse
-
Constructor Summary
Constructors Modifier Constructor Description protectedStreamResponseCommand()StreamResponseCommand(ByteString cacheName)StreamResponseCommand(ByteString cacheName, Address origin, Object id, boolean complete, org.infinispan.commons.util.IntSet missedSegments, R response)StreamResponseCommand(ByteString cacheName, Address origin, Object id, boolean complete, R response)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleancanBlock()If true, the command is processed asynchronously in a thread provided by an Infinispan thread pool.bytegetCommandId()Used by marshallers to convert this command into an id for streaming.voidinject(ClusterStreamManager csm)CompletableFuture<Object>invokeAsync()Invoke the command asynchronously.booleanisReturnValueExpected()If true, a return value will be provided when performed remotely.voidreadFrom(ObjectInput input)Reads this instance from the stream written byReplicableCommand.writeTo(ObjectOutput).StringtoString()voidwriteTo(ObjectOutput output)Writes this instance to theObjectOutput.-
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
-
Methods inherited from interface org.infinispan.commands.ReplicableCommand
invoke, isSuccessful, perform
-
-
-
-
Field Detail
-
COMMAND_ID
public static final byte COMMAND_ID
- See Also:
- Constant Field Values
-
csm
protected ClusterStreamManager csm
-
id
protected Object id
-
complete
protected boolean complete
-
response
protected R response
-
missedSegments
protected org.infinispan.commons.util.IntSet missedSegments
-
-
Constructor Detail
-
StreamResponseCommand
protected StreamResponseCommand()
-
StreamResponseCommand
public StreamResponseCommand(ByteString cacheName)
-
StreamResponseCommand
public StreamResponseCommand(ByteString cacheName, Address origin, Object id, boolean complete, R response)
-
StreamResponseCommand
public StreamResponseCommand(ByteString cacheName, Address origin, Object id, boolean complete, org.infinispan.commons.util.IntSet missedSegments, R response)
-
-
Method Detail
-
inject
public void inject(ClusterStreamManager csm)
-
invokeAsync
public CompletableFuture<Object> invokeAsync() throws Throwable
Description copied from interface:ReplicableCommandInvoke the command asynchronously.This method replaces
ReplicableCommand.perform(InvocationContext)for remote execution. The default implementation andReplicableCommand.perform(InvocationContext)will be removed in future versions.- Throws:
Throwable
-
getCommandId
public byte getCommandId()
Description copied from interface:ReplicableCommandUsed 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.
-
writeTo
public void writeTo(ObjectOutput output) throws IOException
Description copied from interface:ReplicableCommandWrites this instance to theObjectOutput.- Parameters:
output- the stream.- Throws:
IOException- if an error occurred during the I/O.
-
readFrom
public void readFrom(ObjectInput input) throws IOException, ClassNotFoundException
Description copied from interface:ReplicableCommandReads this instance from the stream written byReplicableCommand.writeTo(ObjectOutput).- Parameters:
input- the stream to read.- Throws:
IOException- if an error occurred during the I/O.ClassNotFoundException- if it tries to load an undefined class.
-
isReturnValueExpected
public boolean isReturnValueExpected()
Description copied from interface:ReplicableCommandIf true, a return value will be provided when performed remotely. Otherwise, a remoteResponseGeneratormay choose to simply return null to save on marshalling costs.- Returns:
- true or false
-
canBlock
public boolean canBlock()
Description copied from interface:ReplicableCommandIf true, the command is processed asynchronously in a thread provided by an Infinispan thread pool. Otherwise, the command is processed directly in the JGroups thread. This feature allows to avoid keep a JGroups thread busy that can originate discard of messages and retransmissions. So, the commands that can block (waiting for some state, acquiring locks, etc.) should return true.- Specified by:
canBlockin interfaceReplicableCommand- Overrides:
canBlockin classorg.infinispan.commands.remote.BaseRpcCommand- Returns:
trueif the command can block/wait,falseotherwise
-
toString
public String toString()
- Overrides:
toStringin classorg.infinispan.commands.remote.BaseRpcCommand
-
-