Class Filter<UP_IN,​UP_OUT,​DOWN_OUT,​DOWN_IN>

    • Constructor Detail

      • Filter

        Filter​(Filter<DOWN_OUT,​DOWN_IN,​?,​?> downstreamFilter)
        Constructor.
        Parameters:
        downstreamFilter - downstream filter. Accessible directly as downstreamFilter protected field.
    • Method Detail

      • write

        void write​(UP_IN data,
                   CompletionHandler<UP_IN> completionHandler)
        Perform write operation for this filter and invokes write method on the next filter in the filter chain.
        Parameters:
        data - on which write operation is performed.
        completionHandler - will be invoked when the write operation is completed or has failed.
      • close

        void close()
        Close the filter, invokes close operation on the next filter in the filter chain.

        The filter is expected to clean up any allocated resources and pass the invocation to downstream filter.

      • startSsl

        void startSsl()
        Signal to turn on SSL, it is passed on in the filter chain until a filter responsible for SSL is reached.
      • connect

        void connect​(java.net.SocketAddress address,
                     Filter<?,​?,​UP_IN,​UP_OUT> upstreamFilter)
        Initiate connect.

        If the Filter needs to do something during this phase, it must implement handleConnect(SocketAddress, Filter) method.

        Parameters:
        address - an address where to connect (server or proxy).
        upstreamFilter - a filter positioned upstream.
      • onConnect

        void onConnect()
        An event listener that is called when a connection is set up. This event travels up in the filter chain.

        If the Filter needs to process this event, it must implement processConnect() method.

      • onRead

        final void onRead​(DOWN_IN data)
        An event listener that is called when some data is read.

        If the Filter needs to process this event, it must implement onRead(Object) ()} method. If the method returns true, the processing will continue with upstream filters; if the method invocation returns false, the processing won't continue.

        Parameters:
        data - that has been read.
      • onConnectionClosed

        final void onConnectionClosed()
        An event listener that is called when the connection is closed by the peer.

        If the Filter needs to process this event, it must implement processConnectionClosed() method.

      • onSslHandshakeCompleted

        final void onSslHandshakeCompleted()
        An event listener that is called, when SSL completes its handshake.

        If the Filter needs to process this event, it must implement processSslHandshakeCompleted() method.

      • onError

        final void onError​(java.lang.Throwable t)
        An event listener that is called when an error has occurred.

        Errors travel in direction from downstream filter to upstream filter.

        If the Filter needs to process this event, it must implement processError(Throwable) method.

        Parameters:
        t - an error that has occurred.
      • processRead

        boolean processRead​(DOWN_IN data)
        Parameters:
        data - read data.
        Returns:
        true if the data should be sent to processing to upper filter in the chain, false otherwise.