mirror of
https://github.com/stalwartlabs/mail-server.git
synced 2025-11-01 15:26:15 +08:00
Flush tcp streap after write
This commit is contained in:
parent
f7ee2f6423
commit
dc960fba63
2 changed files with 18 additions and 6 deletions
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
_ => {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue