From e1e9768bd47b0fde8da78f85b38ea8a2a40e564c Mon Sep 17 00:00:00 2001 From: Jerome Gravel-Niquet Date: Fri, 13 Oct 2023 16:48:17 +0200 Subject: [PATCH] streams: extract max_send_data() helper --- quinn-proto/src/connection/streams/state.rs | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/quinn-proto/src/connection/streams/state.rs b/quinn-proto/src/connection/streams/state.rs index a701d31bd..e0c4618d1 100644 --- a/quinn-proto/src/connection/streams/state.rs +++ b/quinn-proto/src/connection/streams/state.rs @@ -800,14 +800,7 @@ impl StreamsState { pub(super) fn insert(&mut self, remote: bool, id: StreamId) { let bi = id.dir() == Dir::Bi; if bi || !remote { - let max_data = match id.dir() { - Dir::Uni => self.initial_max_stream_data_uni, - // Remote/local appear reversed here because the transport parameters are named from - // the perspective of the peer. - Dir::Bi if remote => self.initial_max_stream_data_bidi_local, - Dir::Bi => self.initial_max_stream_data_bidi_remote, - }; - let stream = Send::new(max_data); + let stream = Send::new(self.max_send_data(id)); assert!(self.send.insert(id, stream).is_none()); } if bi || remote { @@ -865,6 +858,17 @@ impl StreamsState { self.send_streams -= 1; } } + + pub(super) fn max_send_data(&self, id: StreamId) -> VarInt { + let remote = self.side != id.initiator(); + match id.dir() { + Dir::Uni => self.initial_max_stream_data_uni, + // Remote/local appear reversed here because the transport parameters are named from + // the perspective of the peer. + Dir::Bi if remote => self.initial_max_stream_data_bidi_local, + Dir::Bi => self.initial_max_stream_data_bidi_remote, + } + } } #[cfg(test)]