Browse Source

client: more error logging + cleanup

Justin Tracey 2 months ago
parent
commit
5919fd7870
1 changed files with 18 additions and 6 deletions
  1. 18 6
      src/bin/mgen-client.rs

+ 18 - 6
src/bin/mgen-client.rs

@@ -1,8 +1,8 @@
 // Code specific to the client in the client-server mode.
 
+use mgen::{log, updater::Updater, HandshakeRef, MessageHeader, SerializedMessage};
+
 use futures::future::try_join_all;
-use mgen::updater::Updater;
-use mgen::{log, HandshakeRef, MessageHeader, SerializedMessage};
 use rand_xoshiro::{rand_core::SeedableRng, Xoshiro256PlusPlus};
 use serde::Deserialize;
 use std::result::Result;
@@ -296,7 +296,13 @@ async fn socket_updater(
     loop {
         let stream: TcpStream = match connect(&str_params).await {
             Ok(stream) => stream,
-            Err(MessengerError::Recoverable(_)) => {
+            Err(MessengerError::Recoverable(e)) => {
+                log!(
+                    "{},{},error,TCP,{:?}",
+                    str_params.user,
+                    str_params.recipient,
+                    e
+                );
                 tokio::time::sleep(retry).await;
                 continue;
             }
@@ -305,7 +311,13 @@ async fn socket_updater(
 
         let mut stream = match connector.connect(tls_server_name.clone(), stream).await {
             Ok(stream) => stream,
-            Err(_) => {
+            Err(e) => {
+                log!(
+                    "{},{},error,TLS,{:?}",
+                    str_params.user,
+                    str_params.recipient,
+                    e
+                );
                 tokio::time::sleep(retry).await;
                 continue;
             }
@@ -446,7 +458,7 @@ async fn spawn_threads(config: FullConfig) -> Result<(), MessengerError> {
     );
     let manager = manage_conversation(config, state_from_reader, state_to_writer);
 
-    join!(reader, writer, uploader, updater, manager);
+    join!(reader, writer, uploader, updater, manager)?;
     Ok(())
 }
 
@@ -518,7 +530,7 @@ async fn main_worker() -> Result<(), Box<dyn std::error::Error>> {
         }
     }
 
-    try_join_all(handles.into_iter()).await?;
+    try_join_all(handles).await?;
     Ok(())
 }