Class RpcChannel

java.lang.Object
org.apache.catalina.tribes.group.RpcChannel
All Implemented Interfaces:
ChannelListener

public class RpcChannel extends Object implements ChannelListener
A channel to handle RPC messaging
  • Field Details

  • Constructor Details

    • RpcChannel

      public RpcChannel(byte[] rpcId, Channel channel, RpcCallback callback)
      Create an RPC channel. You can have several RPC channels attached to a group all separated out by the uniqueness
      Parameters:
      rpcId - - the unique Id for this RPC group
      channel - Channel
      callback - RpcCallback
  • Method Details

    • send

      public Response[] send(Member[] destination, Serializable message, int rpcOptions, int channelOptions, long timeout) throws ChannelException
      Send a message and wait for the response.
      Parameters:
      destination - Member[] - the destination for the message, and the members you request a reply from
      message - Serializable - the message you are sending out
      rpcOptions - int - FIRST_REPLY, MAJORITY_REPLY or ALL_REPLY
      channelOptions - channel sender options
      timeout - long - timeout in milliseconds, if no reply is received within this time null is returned
      Returns:
      Response[] - an array of response objects.
      Throws:
      ChannelException - Error sending message
    • messageReceived

      public void messageReceived(Serializable msg, Member sender)
      Description copied from interface: ChannelListener
      Receive a message from the channel
      Specified by:
      messageReceived in interface ChannelListener
      Parameters:
      msg - Serializable
      sender - - the source of the message
    • breakdown

      public void breakdown()
    • accept

      public boolean accept(Serializable msg, Member sender)
      Description copied from interface: ChannelListener
      Invoked by the channel to determine if the listener will process this message or not.
      Specified by:
      accept in interface ChannelListener
      Parameters:
      msg - Serializable
      sender - Member
      Returns:
      boolean
    • getChannel

      public Channel getChannel()
    • getCallback

      public RpcCallback getCallback()
    • getRpcId

      public byte[] getRpcId()
    • setChannel

      public void setChannel(Channel channel)
    • setCallback

      public void setCallback(RpcCallback callback)
    • setRpcId

      public void setRpcId(byte[] rpcId)
    • getReplyMessageOptions

      public int getReplyMessageOptions()
    • setReplyMessageOptions

      public void setReplyMessageOptions(int replyMessageOptions)