org.apache.catalina.tribes.group.interceptors

## Class ThroughputInterceptor

- java.lang.Object
- - org.apache.catalina.tribes.group.ChannelInterceptorBase
  - - org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor

- All Implemented Interfaces:
    ChannelInterceptor, ThroughputInterceptorMBean, Heartbeat, MembershipListener

      public class ThroughputInterceptor
      extends ChannelInterceptorBase
      implements ThroughputInterceptorMBean

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface org.apache.catalina.tribes.ChannelInterceptor

      `ChannelInterceptor.InterceptorEvent`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected static StringManager` | `sm`

    - ### Fields inherited from class org.apache.catalina.tribes.group.ChannelInterceptorBase

      `optionFlag`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ThroughputInterceptor()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `getInterval()`
    `double` | `getLastCnt()`
    `double` | `getMbAppTx()`
    `double` | `getMbRx()`
    `double` | `getMbTx()`
    `AtomicLong` | `getMsgRxCnt()`
    `AtomicLong` | `getMsgTxCnt()`
    `AtomicLong` | `getMsgTxErr()`
    `long` | `getRxStart()`
    `double` | `getTimeTx()`
    `long` | `getTxStart()`
    `void` | `messageReceived(ChannelMessage msg)` the `messageReceived` is invoked when a message is received.
    `void` | `report(double timeTx)`
    `void` | `sendMessage(Member[] destination, ChannelMessage msg, InterceptorPayload payload)` The `sendMessage` method is called when a message is being sent to one more destinations.
    `void` | `setInterval(int interval)`

    - ### Methods inherited from class org.apache.catalina.tribes.group.ChannelInterceptorBase

      `fireInterceptorEvent, getChannel, getLocalMember, getMember, getMembers, getNext, getOptionFlag, getPrevious, hasMembers, heartbeat, memberAdded, memberDisappeared, okToProcess, setChannel, setNext, setOptionFlag, setPrevious, start, stop`

    - ### 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.group.interceptors.ThroughputInterceptorMBean

      `getOptionFlag`

- - ### Field Detail

    - #### sm

          protected static final StringManager sm

  - ### Constructor Detail

    - #### ThroughputInterceptor

          public ThroughputInterceptor()

  - ### Method Detail

    - #### sendMessage

          public void sendMessage(Member[] destination,
                         ChannelMessage msg,
                         InterceptorPayload payload)
                           throws ChannelException

      Description copied from interface: `ChannelInterceptor`
      The `sendMessage` method is called when a message is being sent to one more destinations. The interceptor can modify any of the parameters and then pass on the message down the stack by invoking `getNext().sendMessage(destination,msg,payload)`
      Alternatively the interceptor can stop the message from being sent by not invoking `getNext().sendMessage(destination,msg,payload)`
      If the message is to be sent asynchronous the application can be notified of completion and errors by passing in an error handler attached to a payload object.
      The ChannelMessage.getAddress contains Channel.getLocalMember, and can be overwritten to simulate a message sent from another node.
      Specified by:
        `sendMessage` in interface `ChannelInterceptor`
      Overrides:
        `sendMessage` in class `ChannelInterceptorBase`
      Parameters:
        `destination` - Member[] - the destination for this message
        `msg` - ChannelMessage - the message to be sent
        `payload` - InterceptorPayload - the payload, carrying an error handler and future useful data, can be null
      Throws:
        `ChannelException` - if a serialization error happens.
      See Also:
        `ErrorHandler`, `InterceptorPayload`

    - #### messageReceived

          public void messageReceived(ChannelMessage msg)

      Description copied from interface: `ChannelInterceptor`
      the `messageReceived` is invoked when a message is received. `ChannelMessage.getAddress()` is the sender, or the reply-to address if it has been overwritten.
      Specified by:
        `messageReceived` in interface `ChannelInterceptor`
      Overrides:
        `messageReceived` in class `ChannelInterceptorBase`
      Parameters:
        `msg` - ChannelMessage

    - #### report

          public void report(double timeTx)

      Specified by:
        `report` in interface `ThroughputInterceptorMBean`

    - #### setInterval

          public void setInterval(int interval)

      Specified by:
        `setInterval` in interface `ThroughputInterceptorMBean`

    - #### getInterval

          public int getInterval()

      Specified by:
        `getInterval` in interface `ThroughputInterceptorMBean`

    - #### getLastCnt

          public double getLastCnt()

      Specified by:
        `getLastCnt` in interface `ThroughputInterceptorMBean`

    - #### getMbAppTx

          public double getMbAppTx()

      Specified by:
        `getMbAppTx` in interface `ThroughputInterceptorMBean`

    - #### getMbRx

          public double getMbRx()

      Specified by:
        `getMbRx` in interface `ThroughputInterceptorMBean`

    - #### getMbTx

          public double getMbTx()

      Specified by:
        `getMbTx` in interface `ThroughputInterceptorMBean`

    - #### getMsgRxCnt

          public AtomicLong getMsgRxCnt()

      Specified by:
        `getMsgRxCnt` in interface `ThroughputInterceptorMBean`

    - #### getMsgTxCnt

          public AtomicLong getMsgTxCnt()

      Specified by:
        `getMsgTxCnt` in interface `ThroughputInterceptorMBean`

    - #### getMsgTxErr

          public AtomicLong getMsgTxErr()

      Specified by:
        `getMsgTxErr` in interface `ThroughputInterceptorMBean`

    - #### getRxStart

          public long getRxStart()

      Specified by:
        `getRxStart` in interface `ThroughputInterceptorMBean`

    - #### getTimeTx

          public double getTimeTx()

      Specified by:
        `getTimeTx` in interface `ThroughputInterceptorMBean`

    - #### getTxStart

          public long getTxStart()

      Specified by:
        `getTxStart` in interface `ThroughputInterceptorMBean`

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