Update transport documentation

Now laid out with all send modules over all recv modules
This commit is contained in:
Oliver Gould
2017-07-24 22:59:09 +00:00
parent 1dbbac2c00
commit 596b758d4f

View File

@@ -132,26 +132,31 @@ use self::stream_states::StreamStates;
/// - Ensures that frames sent from the local peer are appropriate for the stream's state. /// - 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. /// - Ensures that the remote's max stream concurrency is not violated.
/// ///
/// #### `StreamRecvClose` /// #### `FlowControlSend`
/// ///
/// - Updates the stream state for frames sent with END_STREAM.
///
/// #### `FlowControl`
///
/// - Tracks received data frames against the local stream and connection flow control
/// windows.
/// - Tracks sent data frames against the remote stream and connection flow control /// - Tracks sent data frames against the remote stream and connection flow control
/// windows. /// windows.
/// - Tracks remote settings updates to SETTINGS_INITIAL_WINDOW_SIZE. /// - Tracks remote settings updates to SETTINGS_INITIAL_WINDOW_SIZE.
/// - Exposes `ControlFlow` upwards. /// - Exposes `ControlFlowSend` upwards.
/// - Tracks received window updates against the remote stream and connection flow /// - Tracks received window updates against the remote stream and connection flow
/// control windows so that upper layers may poll for updates. /// control windows so that upper layers may poll for updates.
/// - Sends window updates for the local stream and connection flow control windows as
/// instructed by upper layers.
/// ///
/// #### `StreamSendClose` /// #### `StreamSendClose`
/// ///
/// - Updates the stream state for frames receive` with END_STREAM. /// - Updates the stream state for frames sent with END_STREAM.
///
/// #### `StreamRecvClose`
///
/// - Updates the stream state for frames received with END_STREAM.
///
/// #### `FlowControlRecv`
///
/// - Tracks received data frames against the local stream and connection flow control
/// windows.
/// - Tracks remote settings updates to SETTINGS_INITIAL_WINDOW_SIZE.
/// - Exposes `ControlFlowRecv` upwards.
/// - Sends window updates for the local stream and connection flow control windows as
/// instructed by upper layers.
/// ///
/// #### `StreamRecvOpen` /// #### `StreamRecvOpen`
/// ///
@@ -192,10 +197,10 @@ type Transport<T, P, B>=
type Streams<T, P> = type Streams<T, P> =
StreamSendOpen< StreamSendOpen<
StreamRecvClose< FlowControlSend<
FlowControlSend< StreamSendClose<
FlowControlRecv< StreamRecvClose<
StreamSendClose< FlowControlRecv<
StreamRecvOpen< StreamRecvOpen<
StreamStates<T, P>>>>>>>; StreamStates<T, P>>>>>>>;
@@ -289,12 +294,12 @@ pub fn from_server_handshaker<T, P, B>(settings: Settings<FramedWrite<T, B::Buf>
StreamSendOpen::new( StreamSendOpen::new(
initial_send_window_size, initial_send_window_size,
remote_max_concurrency, remote_max_concurrency,
StreamRecvClose::new( FlowControlSend::new(
FlowControlSend::new( initial_send_window_size,
initial_send_window_size, StreamSendClose::new(
FlowControlRecv::new( StreamRecvClose::new(
initial_recv_window_size, FlowControlRecv::new(
StreamSendClose::new( initial_recv_window_size,
StreamRecvOpen::new( StreamRecvOpen::new(
initial_recv_window_size, initial_recv_window_size,
local_max_concurrency, local_max_concurrency,