org.apache.catalina.tribes.group

## 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

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `RpcChannel.RpcCollector` Class that holds all response.
    `static class` | `RpcChannel.RpcCollectorKey`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static int` | `ALL_REPLY`
    `static int` | `FIRST_REPLY`
    `static int` | `MAJORITY_REPLY`
    `static int` | `NO_REPLY`
    `protected static StringManager` | `sm`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `RpcChannel(byte[] rpcId, Channel channel, RpcCallback callback)` Create an RPC channel.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `accept(Serializable msg, Member sender)` Invoked by the channel to determine if the listener will process this message or not.
    `void` | `breakdown()`
    `RpcCallback` | `getCallback()`
    `Channel` | `getChannel()`
    `int` | `getReplyMessageOptions()`
    `byte[]` | `getRpcId()`
    `void` | `messageReceived(Serializable msg, Member sender)` Receive a message from the channel
    `Response[]` | `send(Member[] destination, Serializable message, int rpcOptions, int channelOptions, long timeout)` Send a message and wait for the response.
    `void` | `setCallback(RpcCallback callback)`
    `void` | `setChannel(Channel channel)`
    `void` | `setReplyMessageOptions(int replyMessageOptions)`
    `void` | `setRpcId(byte[] rpcId)`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface org.apache.catalina.tribes.ChannelListener

      `equals, hashCode`

- - ### Field Detail

    - #### sm

          protected static final StringManager sm

    - #### FIRST_REPLY

          public static final int FIRST_REPLY

      See Also:
        Constant Field Values

    - #### MAJORITY_REPLY

          public static final int MAJORITY_REPLY

      See Also:
        Constant Field Values

    - #### ALL_REPLY

          public static final int ALL_REPLY

      See Also:
        Constant Field Values

    - #### NO_REPLY

          public static final int NO_REPLY

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### 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 Detail

    - #### 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)

Copyright © 2000-2022 Apache Software Foundation. All Rights Reserved.