don't send info packet if downgraded

This commit is contained in:
Toshit Chawda 2024-08-01 15:59:29 -07:00
parent 8bc68dbd71
commit 8cbab94955
No known key found for this signature in database
GPG key ID: 91480ED99E2B3D9D
2 changed files with 14 additions and 11 deletions

View file

@ -763,17 +763,20 @@ impl ClientMux {
let (supported_extensions, extra_packet, downgraded) = let (supported_extensions, extra_packet, downgraded) =
if let Some(builders) = extension_builders { if let Some(builders) = extension_builders {
let x = maybe_wisp_v2(&mut read, &write, builders).await?; let x = maybe_wisp_v2(&mut read, &write, builders).await?;
write // if not downgraded
.write_frame( if !x.2 {
Packet::new_info( write
builders .write_frame(
.iter() Packet::new_info(
.map(|x| x.build_to_extension(Role::Client)) builders
.collect(), .iter()
.map(|x| x.build_to_extension(Role::Client))
.collect(),
)
.into(),
) )
.into(), .await?;
) }
.await?;
x x
} else { } else {
(Vec::new(), None, true) (Vec::new(), None, true)

View file

@ -215,7 +215,7 @@ impl MuxStreamWrite {
)) ))
} }
/// Turn the write half into one that implements futures `Sink`, consuming it. /// Turn the write half into one that implements futures `Sink`, consuming it.
pub fn into_sink(self) -> MuxStreamIoSink { pub fn into_sink(self) -> MuxStreamIoSink {
MuxStreamIoSink { MuxStreamIoSink {
tx: self.into_inner_sink(), tx: self.into_inner_sink(),