update comments
This commit is contained in:
@@ -53,7 +53,28 @@ use self::stream_store::{ControlStreams, StreamStore};
|
||||
/// - Exposes ControlSettings up towards the application and transmits local settings to
|
||||
/// the remote.
|
||||
///
|
||||
/// ### `FlowControl`
|
||||
/// ### The stream transport
|
||||
///
|
||||
/// The states of all HTTP/2 connections are stored centrally in the `StreamStore` at the
|
||||
/// bottom of the stream transport. Several modules above this access this state via the
|
||||
/// `ControlStreams` API to drive changes to the stream state. In each direction (send
|
||||
/// from local to remote, and recv from remote to local), there is an Stream\*Open module
|
||||
/// responsible for initializing new streams and ensuring that frames do not violate
|
||||
/// stream state. Then, there are modules that operate on streams (for instance,
|
||||
/// FlowControl). Finally, a Stream\*Close module is responsible for acting on END_STREAM
|
||||
/// frames to ensure that stream states are not closed before work is complete.
|
||||
///
|
||||
/// #### `StreamSendOpen`
|
||||
///
|
||||
/// - Initializes streams initiated by the local peer.
|
||||
/// - Ensures that frames sent from the local peer are appropriate for the stream's state.
|
||||
/// - Ensures that the remote's max stream concurrency is not violated.
|
||||
///
|
||||
/// #### `StreamRecvClose`
|
||||
///
|
||||
/// - Updates the stream state for frames sent with END_STREAM.
|
||||
///
|
||||
/// #### `FlowControl`
|
||||
///
|
||||
/// - Tracks received data frames against the local stream and connection flow control
|
||||
/// windows.
|
||||
@@ -66,10 +87,22 @@ use self::stream_store::{ControlStreams, StreamStore};
|
||||
/// - Sends window updates for the local stream and connection flow control windows as
|
||||
/// instructed by upper layers.
|
||||
///
|
||||
/// ### `StreamTracker`
|
||||
/// #### `StreamSendClose`
|
||||
///
|
||||
/// - Tracks all active streams.
|
||||
/// - Tracks all reset streams.
|
||||
/// - Updates the stream state for frames receive` with END_STREAM.
|
||||
///
|
||||
/// #### `StreamRecvOpen`
|
||||
///
|
||||
/// - Initializes streams initiated by the remote peer.
|
||||
/// - Ensures that frames received from the remote peer are appropriate for the stream's
|
||||
/// state.
|
||||
/// - Ensures that the local peer's max stream concurrency is not violated.
|
||||
/// - Emits StreamRefused resets to the remote.
|
||||
///
|
||||
/// #### `StreamStore`
|
||||
///
|
||||
/// - Holds the state of all local & remote active streams.
|
||||
/// - Holds the cause of all reset/closed streams.
|
||||
/// - Exposes `ControlStreams` so that upper layers may share stream state.
|
||||
///
|
||||
/// ### `PingPong`
|
||||
|
||||
Reference in New Issue
Block a user