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) =
if let Some(builders) = extension_builders {
let x = maybe_wisp_v2(&mut read, &write, builders).await?;
write
.write_frame(
Packet::new_info(
builders
.iter()
.map(|x| x.build_to_extension(Role::Client))
.collect(),
// if not downgraded
if !x.2 {
write
.write_frame(
Packet::new_info(
builders
.iter()
.map(|x| x.build_to_extension(Role::Client))
.collect(),
)
.into(),
)
.into(),
)
.await?;
.await?;
}
x
} else {
(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 {
MuxStreamIoSink {
tx: self.into_inner_sink(),