Fix rustls client/server filters (#401)

This commit is contained in:
Nikolay Kim 2024-08-26 16:00:48 +05:00 committed by GitHub
parent 9b24698087
commit c71678c999
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 27 additions and 25 deletions

View file

@ -112,17 +112,16 @@ impl FilterLayer for TlsServerFilter {
'outer: loop {
if !src.is_empty() {
src.split_to(session.writer().write(src)?);
} else {
break;
}
while session.wants_write() {
match session.write_tls(&mut io) {
Ok(0) => continue 'outer,
Ok(_) => continue,
Err(ref err) if err.kind() == io::ErrorKind::WouldBlock => {
break
loop {
match session.write_tls(&mut io) {
Ok(0) => continue 'outer,
Ok(_) => continue,
Err(ref err) if err.kind() == io::ErrorKind::WouldBlock => {
break
}
Err(err) => return Err(err),
}
Err(err) => return Err(err),
}
}
break;