add Connection::max_concurrent_send_streams (#513)

This PR adds accessors to `client::Connection` and `server::Connection`
that return the send stream concurrency limit on that connection, as
negotiated by the remote peer. This is part of issue #512.

I think we probably ought to expose similar accessors for other
settings, but I thought it was better to add each one in a separate,
focused PR.

Signed-off-by: Eliza Weisman <eliza@buoyant.io>
This commit is contained in:
Eliza Weisman
2021-02-05 09:58:10 -08:00
committed by GitHub
parent 2c8c847cd5
commit 978c71270a
5 changed files with 42 additions and 0 deletions

View File

@@ -529,6 +529,19 @@ where
pub fn ping_pong(&mut self) -> Option<PingPong> {
self.connection.take_user_pings().map(PingPong::new)
}
/// Returns the maximum number of concurrent streams that may be initiated
/// by the server on this connection.
///
/// This limit is configured by the client peer by sending the
/// [`SETTINGS_MAX_CONCURRENT_STREAMS` parameter][settings] in a `SETTINGS`
/// frame. This method returns the currently acknowledged value recieved
/// from the remote.
///
/// [settings]: https://tools.ietf.org/html/rfc7540#section-5.1.2
pub fn max_concurrent_send_streams(&self) -> usize {
self.connection.max_send_streams()
}
}
#[cfg(feature = "stream")]