Class DelegatingDecompressorFrameListener.ConsumedBytesConverter

    • Method Detail

      • initialWindowSize

        public void initialWindowSize​(int newWindowSize)
                               throws Http2Exception
        Description copied from interface: Http2FlowController
        Sets the connection-wide initial flow control window and updates all stream windows (but not the connection stream window) by the delta.

        Represents the value for SETTINGS_INITIAL_WINDOW_SIZE. This method should only be called by Netty (not users) as a result of a receiving a SETTINGS frame.

        Specified by:
        initialWindowSize in interface Http2FlowController
        Parameters:
        newWindowSize - the new initial window size.
        Throws:
        Http2Exception - thrown if any protocol-related error occurred.
      • windowSize

        public int windowSize​(Http2Stream stream)
        Description copied from interface: Http2FlowController
        Get the portion of the flow control window for the given stream that is currently available for sending/receiving frames which are subject to flow control. This quantity is measured in number of bytes.
        Specified by:
        windowSize in interface Http2FlowController
      • incrementWindowSize

        public void incrementWindowSize​(Http2Stream stream,
                                        int delta)
                                 throws Http2Exception
        Description copied from interface: Http2FlowController
        Increments the size of the stream's flow control window by the given delta.

        In the case of a Http2RemoteFlowController this is called upon receipt of a WINDOW_UPDATE frame from the remote endpoint to mirror the changes to the window size.

        For a Http2LocalFlowController this can be called to request the expansion of the window size published by this endpoint. It is up to the implementation, however, as to when a WINDOW_UPDATE is actually sent.

        Specified by:
        incrementWindowSize in interface Http2FlowController
        Parameters:
        stream - The subject stream. Use Http2Connection.connectionStream() for requesting the size of the connection window.
        delta - the change in size of the flow control window.
        Throws:
        Http2Exception - thrown if a protocol-related error occurred.
      • receiveFlowControlledFrame

        public void receiveFlowControlledFrame​(Http2Stream stream,
                                               ByteBuf data,
                                               int padding,
                                               boolean endOfStream)
                                        throws Http2Exception
        Description copied from interface: Http2LocalFlowController
        Receives an inbound DATA frame from the remote endpoint and applies flow control policies to it for both the stream as well as the connection. If any flow control policies have been violated, an exception is raised immediately, otherwise the frame is considered to have "passed" flow control.

        If stream is null or closed, flow control should only be applied to the connection window and the bytes are immediately consumed.

        Specified by:
        receiveFlowControlledFrame in interface Http2LocalFlowController
        Parameters:
        stream - the subject stream for the received frame. The connection stream object must not be used. If stream is null or closed, flow control should only be applied to the connection window and the bytes are immediately consumed.
        data - payload buffer for the frame.
        padding - additional bytes that should be added to obscure the true content size. Must be between 0 and 256 (inclusive).
        endOfStream - Indicates whether this is the last frame to be sent from the remote endpoint for this stream.
        Throws:
        Http2Exception - if any flow control errors are encountered.
      • consumeBytes

        public boolean consumeBytes​(Http2Stream stream,
                                    int numBytes)
                             throws Http2Exception
        Description copied from interface: Http2LocalFlowController
        Indicates that the application has consumed a number of bytes for the given stream and is therefore ready to receive more data from the remote endpoint. The application must consume any bytes that it receives or the flow control window will collapse. Consuming bytes enables the flow controller to send WINDOW_UPDATE to restore a portion of the flow control window for the stream.

        If stream is null or closed (i.e. Http2Stream.state() method returns Http2Stream.State.CLOSED), calling this method has no effect.

        Specified by:
        consumeBytes in interface Http2LocalFlowController
        Parameters:
        stream - the stream for which window space should be freed. The connection stream object must not be used. If stream is null or closed (i.e. Http2Stream.state() method returns Http2Stream.State.CLOSED), calling this method has no effect.
        numBytes - the number of bytes to be returned to the flow control window.
        Returns:
        true if a WINDOW_UPDATE was sent, false otherwise.
        Throws:
        Http2Exception - if the number of bytes returned exceeds the Http2LocalFlowController.unconsumedBytes(Http2Stream) for the stream.
      • unconsumedBytes

        public int unconsumedBytes​(Http2Stream stream)
        Description copied from interface: Http2LocalFlowController
        The number of bytes for the given stream that have been received but not yet consumed by the application.
        Specified by:
        unconsumedBytes in interface Http2LocalFlowController
        Parameters:
        stream - the stream for which window space should be freed.
        Returns:
        the number of unconsumed bytes for the stream.