Class GzipInterceptor

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