Flush tcp streap after write
This commit is contained in:
@@ -118,6 +118,7 @@ impl Session<TcpStream> {
|
||||
tracing::debug!(parent: &session.span, event = "error", reason = %err, "Failed to write greeting.");
|
||||
return Err(());
|
||||
}
|
||||
let _ = session.stream.flush().await;
|
||||
|
||||
// Split stream into read and write halves
|
||||
let (stream_rx, stream_tx) = tokio::io::split(session.stream);
|
||||
@@ -206,6 +207,7 @@ impl Session<TlsStream<TcpStream>> {
|
||||
tracing::debug!(parent: &span, event = "error", reason = %err, "Failed to write greeting.");
|
||||
return Err(());
|
||||
}
|
||||
let _ = stream.flush().await;
|
||||
|
||||
// Spit stream into read and write halves
|
||||
let (stream_rx, stream_tx) = tokio::io::split(stream);
|
||||
|
||||
@@ -64,9 +64,14 @@ pub fn spawn_writer(mut stream: Event, span: tracing::Span) -> mpsc::Sender<Even
|
||||
)
|
||||
);*/
|
||||
|
||||
if let Err(err) = stream_tx.write_all(bytes.as_ref()).await {
|
||||
debug!("Failed to write to stream: {}", err);
|
||||
break 'outer;
|
||||
match stream_tx.write_all(bytes.as_ref()).await {
|
||||
Ok(_) => {
|
||||
let _ = stream_tx.flush().await;
|
||||
}
|
||||
Err(err) => {
|
||||
debug!("Failed to write to stream: {}", err);
|
||||
break 'outer;
|
||||
}
|
||||
}
|
||||
}
|
||||
Event::Upgrade(channel) => {
|
||||
@@ -93,9 +98,14 @@ pub fn spawn_writer(mut stream: Event, span: tracing::Span) -> mpsc::Sender<Even
|
||||
while let Some(event) = rx.recv().await {
|
||||
match event {
|
||||
Event::Bytes(bytes) => {
|
||||
if let Err(err) = stream_tx.write_all(bytes.as_ref()).await {
|
||||
debug!("Failed to write to stream: {}", err);
|
||||
break 'outer;
|
||||
match stream_tx.write_all(bytes.as_ref()).await {
|
||||
Ok(_) => {
|
||||
let _ = stream_tx.flush().await;
|
||||
}
|
||||
Err(err) => {
|
||||
debug!("Failed to write to stream: {}", err);
|
||||
break 'outer;
|
||||
}
|
||||
}
|
||||
}
|
||||
_ => {
|
||||
|
||||
Reference in New Issue
Block a user