Class HeartBeatCommand

  • All Implemented Interfaces:
    org.infinispan.commands.ReplicableCommand

    public class HeartBeatCommand
    extends java.lang.Object
    implements org.infinispan.commands.ReplicableCommand
    A hear-beat command used to ping members in ClusterTopologyManagerImpl.confirmMembersAvailable().
    Since:
    9.2
    Author:
    Pedro Ruivo
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean canBlock()
      If true, the command is processed asynchronously in a thread provided by an Infinispan thread pool.
      byte getCommandId()
      Used by marshallers to convert this command into an id for streaming.
      boolean isReturnValueExpected()
      If true, a return value will be provided when performed remotely.
      void readFrom​(java.io.ObjectInput input)
      Reads this instance from the stream written by ReplicableCommand.writeTo(ObjectOutput).
      void writeTo​(java.io.ObjectOutput output)
      Writes this instance to the ObjectOutput.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface org.infinispan.commands.ReplicableCommand

        invoke, invokeAsync, isSuccessful, perform, setOrigin
    • Constructor Detail

      • HeartBeatCommand

        public HeartBeatCommand()
    • Method Detail

      • getCommandId

        public byte getCommandId()
        Description copied from interface: org.infinispan.commands.ReplicableCommand
        Used by marshallers to convert this command into an id for streaming.
        Specified by:
        getCommandId in interface org.infinispan.commands.ReplicableCommand
        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: org.infinispan.commands.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.
        Specified by:
        isReturnValueExpected in interface org.infinispan.commands.ReplicableCommand
        Returns:
        true or false
      • canBlock

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

        public void writeTo​(java.io.ObjectOutput output)
        Description copied from interface: org.infinispan.commands.ReplicableCommand
        Writes this instance to the ObjectOutput.
        Specified by:
        writeTo in interface org.infinispan.commands.ReplicableCommand
        Parameters:
        output - the stream.
      • readFrom

        public void readFrom​(java.io.ObjectInput input)
        Description copied from interface: org.infinispan.commands.ReplicableCommand
        Reads this instance from the stream written by ReplicableCommand.writeTo(ObjectOutput).
        Specified by:
        readFrom in interface org.infinispan.commands.ReplicableCommand
        Parameters:
        input - the stream to read.