Key that uniquely identifies a request/response pair within (and only within) the scope of the codec. Code outside the codec should regard the StreamID as an opaque data structure; different subclasses of HTTPCodec are likely to use different conventions for generating StreamID values.
Write part of an egress message body.
Write a body chunk header, if relevant.
Write a body chunk terminator, if relevant.
Generate any protocol framing needed to finalize an egress message. This method must be called to complete a stream.
Write an egress message header. For pushed streams, you must specify the assocStream. @retval size the size of the generated message, both the actual size and the size of the uncompressed data. @return None
Generate any protocol framing needed to abort a connection. @return number of bytes written
Get the transport direction of this codec: DOWNSTREAM if the codec receives requests from clients or UPSTREAM if the codec sends requests to servers.
Check whether the codec still has at least one HTTP stream to parse.
Parse ingress data. @param buf A single IOBuf of data to parse @return Number of bytes consumed.
Set the callback to notify on ingress events @param callback The callback object
Pause or resume the ingress parser @param paused Whether the caller wants the parser to be paused
Returns true iff this codec supports session level flow control
Returns true iff this codec supports per stream flow control