Class 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.BaseRpcCommand
    Stream response command used to handle returning intermediate or final responses from the remote node
    • Field Detail

      • 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

      • 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.
      • 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
      • canBlock

        public boolean canBlock()
        Description copied from interface: ReplicableCommand
        If 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:
        canBlock in interface ReplicableCommand
        Overrides:
        canBlock in class org.infinispan.commands.remote.BaseRpcCommand
        Returns:
        true if the command can block/wait, false otherwise
      • toString

        public String toString()
        Overrides:
        toString in class org.infinispan.commands.remote.BaseRpcCommand