GzipInterceptor (Apache Tomcat 10.0.27 API Documentation)

Package org.apache.catalina.tribes.group.interceptors

## Class GzipInterceptor

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

- All Implemented Interfaces:
    `ChannelInterceptor`, `GzipInterceptorMBean`, `Heartbeat`, `MembershipListener`

      public class GzipInterceptor
      extends ChannelInterceptorBase
      implements GzipInterceptorMBean

  Version:
    1.0

- - ### Nested Class Summary

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

      `ChannelInterceptor.InterceptorEvent`

  - ### Field Summary

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

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

      `optionFlag`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `GzipInterceptor()` |

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static byte[]` | `compress​(byte[] data)` |
    `static byte[]` | `decompress​(byte[] data)` |
    `long` | `getCompressedSizeRX()` |
    `long` | `getCompressedSizeTX()` |
    `int` | `getCompressionMinSize()` |
    `int` | `getCount()` |
    `int` | `getCountCompressedRX()` |
    `int` | `getCountCompressedTX()` |
    `int` | `getCountUncompressedRX()` |
    `int` | `getCountUncompressedTX()` |
    `int` | `getInterval()` |
    `long` | `getSizeRX()` |
    `long` | `getSizeTX()` |
    `boolean` | `getStatsEnabled()` |
    `long` | `getUncompressedSizeRX()` |
    `long` | `getUncompressedSizeTX()` |
    `void` | `messageReceived​(ChannelMessage msg)` | the `messageReceived` is invoked when a message is received.
    `void` | `report()` |
    `void` | `reset()` |
    `void` | `sendMessage​(Member[] destination, ChannelMessage msg, InterceptorPayload payload)` | The `sendMessage` method is called when a message is being sent to one more destinations.
    `void` | `setCompressionMinSize​(int compressionMinSize)` | Set the minimum payload size for compression to be enabled.
    `void` | `setInterval​(int interval)` | If statistics collection is enabled, set the number of messages between statistics reports being written to the log.
    `void` | `setStatsEnabled​(boolean statsEnabled)` | Configure whether the interceptor collects statistics.

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

      `getOptionFlag, setOptionFlag`

- - ### Field Detail

    - #### sm

          protected static final StringManager sm

    - #### DEFAULT_BUFFER_SIZE

          public static final int DEFAULT_BUFFER_SIZE

      See Also:
        Constant Field Values

    - #### DEFAULT_OPTION_COMPRESSION_ENABLE

          public static final int DEFAULT_OPTION_COMPRESSION_ENABLE

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### GzipInterceptor

          public GzipInterceptor()

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

    - #### compress

          public static byte[] compress​(byte[] data)
                                 throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### decompress

          public static byte[] decompress​(byte[] data)
                                   throws java.io.IOException

      Parameters:
        `data` - Data to decompress
      Returns:
        Decompressed data
      Throws:
        `java.io.IOException` - Compression error

    - #### report

          public void report()

      Specified by:
        `report` in interface `GzipInterceptorMBean`

    - #### getCompressionMinSize

          public int getCompressionMinSize()

      Specified by:
        `getCompressionMinSize` in interface `GzipInterceptorMBean`
      Returns:
        the minimum payload size for compression to be enabled.

    - #### setCompressionMinSize

          public void setCompressionMinSize​(int compressionMinSize)

      Description copied from interface: `GzipInterceptorMBean`
      Set the minimum payload size for compression to be enabled. A value of zero or less means compression will always be used. If not explicitly configured, a default of zero will be used.
      Specified by:
        `setCompressionMinSize` in interface `GzipInterceptorMBean`
      Parameters:
        `compressionMinSize` - The new minimum payload size

    - #### getStatsEnabled

          public boolean getStatsEnabled()

      Specified by:
        `getStatsEnabled` in interface `GzipInterceptorMBean`
      Returns:
        `true` if the interceptor is configured to collect statistics, otherwise `false`

    - #### setStatsEnabled

          public void setStatsEnabled​(boolean statsEnabled)

      Description copied from interface: `GzipInterceptorMBean`
      Configure whether the interceptor collects statistics.
      Specified by:
        `setStatsEnabled` in interface `GzipInterceptorMBean`
      Parameters:
        `statsEnabled` - `true` to enable statistics collections, otherwise `false`

    - #### getInterval

          public int getInterval()

      Specified by:
        `getInterval` in interface `GzipInterceptorMBean`
      Returns:
        If statistics collection is enabled, the number of messages between statistics reports being written to the log.

    - #### setInterval

          public void setInterval​(int interval)

      Description copied from interface: `GzipInterceptorMBean`
      If statistics collection is enabled, set the number of messages between statistics reports being written to the log. A value of zero or less means no statistics reports are written.
      Specified by:
        `setInterval` in interface `GzipInterceptorMBean`
      Parameters:
        `interval` - The new interval between reports

    - #### getCount

          public int getCount()

      Specified by:
        `getCount` in interface `GzipInterceptorMBean`

    - #### getCountCompressedTX

          public int getCountCompressedTX()

      Specified by:
        `getCountCompressedTX` in interface `GzipInterceptorMBean`

    - #### getCountUncompressedTX

          public int getCountUncompressedTX()

      Specified by:
        `getCountUncompressedTX` in interface `GzipInterceptorMBean`

    - #### getCountCompressedRX

          public int getCountCompressedRX()

      Specified by:
        `getCountCompressedRX` in interface `GzipInterceptorMBean`

    - #### getCountUncompressedRX

          public int getCountUncompressedRX()

      Specified by:
        `getCountUncompressedRX` in interface `GzipInterceptorMBean`

    - #### getSizeTX

          public long getSizeTX()

      Specified by:
        `getSizeTX` in interface `GzipInterceptorMBean`

    - #### getCompressedSizeTX

          public long getCompressedSizeTX()

      Specified by:
        `getCompressedSizeTX` in interface `GzipInterceptorMBean`

    - #### getUncompressedSizeTX

          public long getUncompressedSizeTX()

      Specified by:
        `getUncompressedSizeTX` in interface `GzipInterceptorMBean`

    - #### getSizeRX

          public long getSizeRX()

      Specified by:
        `getSizeRX` in interface `GzipInterceptorMBean`

    - #### getCompressedSizeRX

          public long getCompressedSizeRX()

      Specified by:
        `getCompressedSizeRX` in interface `GzipInterceptorMBean`

    - #### getUncompressedSizeRX

          public long getUncompressedSizeRX()

      Specified by:
        `getUncompressedSizeRX` in interface `GzipInterceptorMBean`

    - #### reset

          public void reset()

      Specified by:
        `reset` in interface `GzipInterceptorMBean`