From 6c0f1d75aa7f558c9f74736855a1f8f7c822fa3c Mon Sep 17 00:00:00 2001
From: Stephen D <webmaster@scd31.com>
Date: Thu, 30 Nov 2023 17:22:33 -0400
Subject: [PATCH] don't log packets we didn't decode

---
 src/gate.rs | 92 ++++++++++++++++++++++++++---------------------------
 1 file changed, 45 insertions(+), 47 deletions(-)

diff --git a/src/gate.rs b/src/gate.rs
index c94d173..2334635 100644
--- a/src/gate.rs
+++ b/src/gate.rs
@@ -119,63 +119,61 @@ pub async fn packet_handler(
             .context("Packet receive channel died")?;
 
         let mut buf = [0; MAX_PACKET_LEN];
-        match attempt_decode(&packet, &mut buf) {
-            Ok(mut packet) => {
-                let mut buf2 = [0; MAX_PACKET_LEN];
-                let mut internet_packet = packet.clone_backing(&mut buf2);
-                match append_internet_to_packet_route(&callsign, ssid, &mut internet_packet) {
-                    Some(()) => match internet_packet.semi_encode() {
-                        Ok(encoded) => {
-                            let semi = SemiPacketIn {
-                                raw: encoded.to_vec(),
-                                uuid: uuid.into(),
-                            };
+        if let Ok(mut packet) = attempt_decode(&packet, &mut buf) {
+            let mut buf2 = [0; MAX_PACKET_LEN];
+            let mut internet_packet = packet.clone_backing(&mut buf2);
+            match append_internet_to_packet_route(&callsign, ssid, &mut internet_packet) {
+                Some(()) => match internet_packet.semi_encode() {
+                    Ok(encoded) => {
+                        let semi = SemiPacketIn {
+                            raw: encoded.to_vec(),
+                            uuid: uuid.into(),
+                        };
 
-                            let _ = tx.send(semi);
-                        }
+                        let _ = tx.send(semi);
+                    }
 
-                        Err(e) => {
-                            eprintln!("Could not semi-encode packet: {e:?}");
-                        }
-                    },
-                    None => {
-                        eprintln!("Could not add routing to packet before gating to the Internet. Skipping");
+                    Err(e) => {
+                        eprintln!("Could not semi-encode packet: {e:?}");
                     }
+                },
+                None => {
+                    eprintln!(
+                        "Could not add routing to packet before gating to the Internet. Skipping"
+                    );
                 }
+            }
 
-                match packet.should_digipeat(&callsign, ssid) {
-                    Ok(()) => {
-                        if let Err(e) = packet.append_to_route(&callsign, ssid) {
-                            eprintln!(
-                                "Could not add routing to packet before digipeating: {e}. Skipping"
-                            );
-                            continue;
-                        };
-
-                        let mut encoded_buf = [0; MAX_PACKET_LEN];
-                        let mut encoded = Buffer::new_empty(&mut encoded_buf);
-                        match packet.fully_encode(&mut encoded) {
-                            Ok(()) => {
-                                packet_send
-                                    .send(encoded.to_vec())
-                                    .await
-                                    .with_context(|| "Packet send channel died")?;
-                            }
+            match packet.should_digipeat(&callsign, ssid) {
+                Ok(()) => {
+                    if let Err(e) = packet.append_to_route(&callsign, ssid) {
+                        eprintln!(
+                            "Could not add routing to packet before digipeating: {e}. Skipping"
+                        );
+                        continue;
+                    };
 
-                            Err(e) => {
-                                eprintln!("Could not fully-encode packet: {e:?}");
-                            }
+                    let mut encoded_buf = [0; MAX_PACKET_LEN];
+                    let mut encoded = Buffer::new_empty(&mut encoded_buf);
+                    match packet.fully_encode(&mut encoded) {
+                        Ok(()) => {
+                            packet_send
+                                .send(encoded.to_vec())
+                                .await
+                                .with_context(|| "Packet send channel died")?;
                         }
-                    }
 
-                    Err(e) => {
-                        eprintln!("Not digipeating: {e}");
+                        Err(e) => {
+                            eprintln!("Could not fully-encode packet: {e:?}");
+                        }
                     }
-                };
-            }
+                }
 
-            Err(e) => eprintln!("Recv error: {e}"),
-        };
+                Err(e) => {
+                    eprintln!("Not digipeating: {e}");
+                }
+            };
+        }
     }
 }
 
-- 
GitLab