From cd6daea82ba5b0df22e4c57d7b26e609444c917b Mon Sep 17 00:00:00 2001 From: Louis Thiery Date: Wed, 2 Apr 2025 19:32:06 -0700 Subject: [PATCH 1/6] lock toml to supported proto/beacon version --- Cargo.lock | 6 +++--- Cargo.toml | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 26668f9f..19882386 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -222,7 +222,7 @@ checksum = "9ba43ea6f343b788c8764558649e08df62f86c6ef251fdaeb1ffd010a9ae50a2" [[package]] name = "beacon" version = "0.1.0" -source = "git+https://github.com/helium/proto?branch=master#d94ed4b4046263eb78003d484d94ad3cbff7a55f" +source = "git+https://github.com/helium/proto?rev=d94ed4b#d94ed4b4046263eb78003d484d94ad3cbff7a55f" dependencies = [ "base64 0.21.4", "byteorder", @@ -232,7 +232,7 @@ dependencies = [ "rand_chacha", "rust_decimal", "serde", - "sha2 0.10.8", + "sha2 0.9.9", "thiserror", ] @@ -987,7 +987,7 @@ dependencies = [ [[package]] name = "helium-proto" version = "0.1.0" -source = "git+https://github.com/helium/proto?branch=master#d94ed4b4046263eb78003d484d94ad3cbff7a55f" +source = "git+https://github.com/helium/proto?rev=d94ed4b#d94ed4b4046263eb78003d484d94ad3cbff7a55f" dependencies = [ "bytes", "prost", diff --git a/Cargo.toml b/Cargo.toml index dcad7305..339b9080 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -18,7 +18,7 @@ members = ["lorawan"] byteorder = "1" serde = { version = "1", features = ["rc", "derive"] } rust_decimal = { version = "1", features = ["serde-with-float"] } -helium-proto = { git = "https://github.com/helium/proto", branch = "master", features = [ +helium-proto = { git = "https://github.com/helium/proto", rev = "d94ed4b", features = [ "services", ] } rand = "0.8" @@ -70,7 +70,7 @@ signature = { version = "1", features = ["std"] } async-trait = "0" angry-purple-tiger = "0" lorawan = { package = "lorawan", path = "lorawan" } -beacon = { git = "https://github.com/helium/proto", branch = "master" } +beacon = { git = "https://github.com/helium/proto", rev = "d94ed4b" } exponential-backoff = { git = "https://github.com/yoshuawuyts/exponential-backoff", branch = "master" } semtech-udp = { version = ">=0.11", default-features = false, features = [ "server", From 89d7793ade32fb095c58f6258a8ce11c593929a9 Mon Sep 17 00:00:00 2001 From: Louis Thiery Date: Wed, 2 Apr 2025 19:40:58 -0700 Subject: [PATCH 2/6] ci: update upload_artifact version --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 67af3637..6a104c0a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -91,7 +91,7 @@ jobs: run: cargo make --profile ${{ matrix.target }} pkg - name: Build | Artifacts - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: helium-gateway-${{ matrix.target }} if-no-files-found: error From 07a84cc536124965ca25c4b47d7c5093edf22392 Mon Sep 17 00:00:00 2001 From: Louis Thiery Date: Wed, 2 Apr 2025 19:58:56 -0700 Subject: [PATCH 3/6] address new clippy lints --- src/keypair.rs | 2 +- src/settings.rs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/keypair.rs b/src/keypair.rs index 77bfa2a7..3180d2aa 100644 --- a/src/keypair.rs +++ b/src/keypair.rs @@ -199,7 +199,7 @@ impl<'de> de::Deserialize<'de> for Keypair { { struct _Visitor; - impl<'de> de::Visitor<'de> for _Visitor { + impl de::Visitor<'_> for _Visitor { type Value = Keypair; fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result { formatter.write_str("keypair uri") diff --git a/src/settings.rs b/src/settings.rs index 0b45f3e9..ff5d3b53 100644 --- a/src/settings.rs +++ b/src/settings.rs @@ -267,7 +267,7 @@ pub mod log_level { { struct LevelVisitor; - impl<'de> Visitor<'de> for LevelVisitor { + impl Visitor<'_> for LevelVisitor { type Value = Level; fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result { formatter.write_str("log level") From 244fa52c0ba10920495b56fd646cf9c319e25a04 Mon Sep 17 00:00:00 2001 From: Louis Thiery Date: Wed, 2 Apr 2025 20:30:21 -0700 Subject: [PATCH 4/6] semtech-udp 0.12 update --- Cargo.lock | 27 ++++++++----- Cargo.toml | 2 +- src/gateway.rs | 2 +- src/packet.rs | 104 ++++++++++++++++++++++++------------------------- 4 files changed, 69 insertions(+), 66 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 19882386..70426840 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -538,9 +538,9 @@ dependencies = [ [[package]] name = "deranged" -version = "0.3.11" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" +checksum = "28cfac68e08048ae1883171632c2aef3ebc555621ae56fbccce1cbf22dd7f058" dependencies = [ "powerfmt", ] @@ -1223,6 +1223,12 @@ version = "0.4.20" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" +[[package]] +name = "lora-modulation" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c96c4a41a1f1ad04de765306e1829c7007a37898fe4033204fa82cf2e055624" + [[package]] name = "lorawan" version = "0.1.0" @@ -1967,12 +1973,13 @@ dependencies = [ [[package]] name = "semtech-udp" -version = "0.11.0" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d23be50e61fa06bbd63768efab380708f73f75010a7df679728c9a82d5f2088" +checksum = "1e188b7049d90ac633978c9cab2d56b165e34e0922908f8cadbc7cbcff6e3370" dependencies = [ "arrayref", "base64 0.21.4", + "lora-modulation", "macaddr", "num_enum", "rand", @@ -2291,9 +2298,9 @@ dependencies = [ [[package]] name = "time" -version = "0.3.36" +version = "0.3.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" +checksum = "8a7619e19bc266e0f9c5e6686659d394bc57973859340060a69221e57dbc0c40" dependencies = [ "deranged", "itoa", @@ -2306,15 +2313,15 @@ dependencies = [ [[package]] name = "time-core" -version = "0.1.2" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" +checksum = "c9e9a38711f559d9e3ce1cdb06dd7c5b8ea546bc90052da6d06bb76da74bb07c" [[package]] name = "time-macros" -version = "0.2.18" +version = "0.2.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" +checksum = "3526739392ec93fd8b359c8e98514cb3e8e021beb4e5f597b00a0221f8ed8a49" dependencies = [ "num-conv", "time-core", diff --git a/Cargo.toml b/Cargo.toml index 339b9080..47b49310 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -72,7 +72,7 @@ angry-purple-tiger = "0" lorawan = { package = "lorawan", path = "lorawan" } beacon = { git = "https://github.com/helium/proto", rev = "d94ed4b" } exponential-backoff = { git = "https://github.com/yoshuawuyts/exponential-backoff", branch = "master" } -semtech-udp = { version = ">=0.11", default-features = false, features = [ +semtech-udp = { version = ">=0.12", default-features = false, features = [ "server", ] } helium-crypto = ">=0.8.3" diff --git a/src/gateway.rs b/src/gateway.rs index 7fe785e1..d56a5839 100644 --- a/src/gateway.rs +++ b/src/gateway.rs @@ -350,7 +350,7 @@ pub fn beacon_to_pull_resp(beacon: &Beacon, tx_power: u64) -> Result for poc_lora::LoraWitnessReportReqV1 { impl PacketUp { pub fn from_rxpk(rxpk: push_data::RxPk, gateway: &PublicKey, region: Region) -> Result { - match rxpk.get_crc_status() { + match rxpk.crc_status() { CRC::OK => (), CRC::Disabled => return Err(DecodeError::crc_disabled()), CRC::Fail => return Err(DecodeError::crc_invalid()), } - let rssi = rxpk - .get_signal_rssi() - .unwrap_or_else(|| rxpk.get_channel_rssi()); + let rssi = rxpk.signal_rssi().unwrap_or_else(|| rxpk.channel_rssi()); let packet = PacketRouterPacketUpV1 { rssi, - timestamp: *rxpk.get_timestamp() as u64, - payload: rxpk.get_data().to_vec(), - frequency: to_hz(*rxpk.get_frequency()) as u32, - datarate: datarate::to_proto(rxpk.get_datarate())? as i32, - snr: rxpk.get_snr(), + timestamp: rxpk.timestamp() as u64, + payload: rxpk.data().to_vec(), + frequency: to_hz(rxpk.frequency()) as u32, + datarate: datarate::to_proto(rxpk.datarate())? as i32, + snr: rxpk.snr(), region: region.into(), hold_time: 0, gateway: gateway.into(), @@ -199,7 +197,7 @@ impl PacketDown { time, ipol: true, modu: Modulation::LORA, - codr: CodingRate::_4_5, + codr: Some(CodingRate::_4_5), datr: datarate, // for normal lorawan packets we're not selecting different frequencies // like we are for PoC @@ -229,26 +227,26 @@ pub(crate) mod datarate { pub fn from_proto(rate: ProtoRate) -> Result { let (spreading_factor, bandwidth) = match rate { - ProtoRate::Sf12bw125 => (SpreadingFactor::SF12, Bandwidth::BW125), - ProtoRate::Sf11bw125 => (SpreadingFactor::SF11, Bandwidth::BW125), - ProtoRate::Sf10bw125 => (SpreadingFactor::SF10, Bandwidth::BW125), - ProtoRate::Sf9bw125 => (SpreadingFactor::SF9, Bandwidth::BW125), - ProtoRate::Sf8bw125 => (SpreadingFactor::SF8, Bandwidth::BW125), - ProtoRate::Sf7bw125 => (SpreadingFactor::SF7, Bandwidth::BW125), - - ProtoRate::Sf12bw250 => (SpreadingFactor::SF12, Bandwidth::BW250), - ProtoRate::Sf11bw250 => (SpreadingFactor::SF11, Bandwidth::BW250), - ProtoRate::Sf10bw250 => (SpreadingFactor::SF10, Bandwidth::BW250), - ProtoRate::Sf9bw250 => (SpreadingFactor::SF9, Bandwidth::BW250), - ProtoRate::Sf8bw250 => (SpreadingFactor::SF8, Bandwidth::BW250), - ProtoRate::Sf7bw250 => (SpreadingFactor::SF7, Bandwidth::BW250), - - ProtoRate::Sf12bw500 => (SpreadingFactor::SF12, Bandwidth::BW500), - ProtoRate::Sf11bw500 => (SpreadingFactor::SF11, Bandwidth::BW500), - ProtoRate::Sf10bw500 => (SpreadingFactor::SF10, Bandwidth::BW500), - ProtoRate::Sf9bw500 => (SpreadingFactor::SF9, Bandwidth::BW500), - ProtoRate::Sf8bw500 => (SpreadingFactor::SF8, Bandwidth::BW500), - ProtoRate::Sf7bw500 => (SpreadingFactor::SF7, Bandwidth::BW500), + ProtoRate::Sf12bw125 => (SpreadingFactor::_12, Bandwidth::_125KHz), + ProtoRate::Sf11bw125 => (SpreadingFactor::_11, Bandwidth::_125KHz), + ProtoRate::Sf10bw125 => (SpreadingFactor::_10, Bandwidth::_125KHz), + ProtoRate::Sf9bw125 => (SpreadingFactor::_9, Bandwidth::_125KHz), + ProtoRate::Sf8bw125 => (SpreadingFactor::_8, Bandwidth::_125KHz), + ProtoRate::Sf7bw125 => (SpreadingFactor::_7, Bandwidth::_125KHz), + + ProtoRate::Sf12bw250 => (SpreadingFactor::_12, Bandwidth::_250KHz), + ProtoRate::Sf11bw250 => (SpreadingFactor::_11, Bandwidth::_250KHz), + ProtoRate::Sf10bw250 => (SpreadingFactor::_10, Bandwidth::_250KHz), + ProtoRate::Sf9bw250 => (SpreadingFactor::_9, Bandwidth::_250KHz), + ProtoRate::Sf8bw250 => (SpreadingFactor::_8, Bandwidth::_250KHz), + ProtoRate::Sf7bw250 => (SpreadingFactor::_7, Bandwidth::_250KHz), + + ProtoRate::Sf12bw500 => (SpreadingFactor::_12, Bandwidth::_500KHz), + ProtoRate::Sf11bw500 => (SpreadingFactor::_11, Bandwidth::_500KHz), + ProtoRate::Sf10bw500 => (SpreadingFactor::_10, Bandwidth::_500KHz), + ProtoRate::Sf9bw500 => (SpreadingFactor::_9, Bandwidth::_500KHz), + ProtoRate::Sf8bw500 => (SpreadingFactor::_8, Bandwidth::_500KHz), + ProtoRate::Sf7bw500 => (SpreadingFactor::_7, Bandwidth::_500KHz), ProtoRate::Lrfhss2bw137 | ProtoRate::Lrfhss1bw336 @@ -265,30 +263,28 @@ pub(crate) mod datarate { pub fn to_proto(rate: DataRate) -> Result { let rate = match (rate.spreading_factor(), rate.bandwidth()) { - (SpreadingFactor::SF12, Bandwidth::BW125) => ProtoRate::Sf12bw125, - (SpreadingFactor::SF11, Bandwidth::BW125) => ProtoRate::Sf11bw125, - (SpreadingFactor::SF10, Bandwidth::BW125) => ProtoRate::Sf10bw125, - (SpreadingFactor::SF9, Bandwidth::BW125) => ProtoRate::Sf9bw125, - (SpreadingFactor::SF8, Bandwidth::BW125) => ProtoRate::Sf8bw125, - (SpreadingFactor::SF7, Bandwidth::BW125) => ProtoRate::Sf7bw125, - - (SpreadingFactor::SF12, Bandwidth::BW250) => ProtoRate::Sf12bw250, - (SpreadingFactor::SF11, Bandwidth::BW250) => ProtoRate::Sf11bw250, - (SpreadingFactor::SF10, Bandwidth::BW250) => ProtoRate::Sf10bw250, - (SpreadingFactor::SF9, Bandwidth::BW250) => ProtoRate::Sf9bw250, - (SpreadingFactor::SF8, Bandwidth::BW250) => ProtoRate::Sf8bw250, - (SpreadingFactor::SF7, Bandwidth::BW250) => ProtoRate::Sf7bw250, - - (SpreadingFactor::SF12, Bandwidth::BW500) => ProtoRate::Sf12bw500, - (SpreadingFactor::SF11, Bandwidth::BW500) => ProtoRate::Sf11bw500, - (SpreadingFactor::SF10, Bandwidth::BW500) => ProtoRate::Sf10bw500, - (SpreadingFactor::SF9, Bandwidth::BW500) => ProtoRate::Sf9bw500, - (SpreadingFactor::SF8, Bandwidth::BW500) => ProtoRate::Sf8bw500, - (SpreadingFactor::SF7, Bandwidth::BW500) => ProtoRate::Sf7bw500, - - (SpreadingFactor::SF6, _) | (SpreadingFactor::SF5, _) => { - return Err(DecodeError::invalid_data_rate(rate.to_string())) - } + (SpreadingFactor::_12, Bandwidth::_125KHz) => ProtoRate::Sf12bw125, + (SpreadingFactor::_11, Bandwidth::_125KHz) => ProtoRate::Sf11bw125, + (SpreadingFactor::_10, Bandwidth::_125KHz) => ProtoRate::Sf10bw125, + (SpreadingFactor::_9, Bandwidth::_125KHz) => ProtoRate::Sf9bw125, + (SpreadingFactor::_8, Bandwidth::_125KHz) => ProtoRate::Sf8bw125, + (SpreadingFactor::_7, Bandwidth::_125KHz) => ProtoRate::Sf7bw125, + + (SpreadingFactor::_12, Bandwidth::_250KHz) => ProtoRate::Sf12bw250, + (SpreadingFactor::_11, Bandwidth::_250KHz) => ProtoRate::Sf11bw250, + (SpreadingFactor::_10, Bandwidth::_250KHz) => ProtoRate::Sf10bw250, + (SpreadingFactor::_9, Bandwidth::_250KHz) => ProtoRate::Sf9bw250, + (SpreadingFactor::_8, Bandwidth::_250KHz) => ProtoRate::Sf8bw250, + (SpreadingFactor::_7, Bandwidth::_250KHz) => ProtoRate::Sf7bw250, + + (SpreadingFactor::_12, Bandwidth::_500KHz) => ProtoRate::Sf12bw500, + (SpreadingFactor::_11, Bandwidth::_500KHz) => ProtoRate::Sf11bw500, + (SpreadingFactor::_10, Bandwidth::_500KHz) => ProtoRate::Sf10bw500, + (SpreadingFactor::_9, Bandwidth::_500KHz) => ProtoRate::Sf9bw500, + (SpreadingFactor::_8, Bandwidth::_500KHz) => ProtoRate::Sf8bw500, + (SpreadingFactor::_7, Bandwidth::_500KHz) => ProtoRate::Sf7bw500, + + (_, _) => return Err(DecodeError::invalid_data_rate(rate.to_string())), }; Ok(rate) } From 71da05b3ebed51ffe3b2600bbf351c71e1f45766 Mon Sep 17 00:00:00 2001 From: Louis Thiery Date: Tue, 8 Apr 2025 20:07:03 -0700 Subject: [PATCH 5/6] disable quay from forks --- .github/workflows/ci.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6a104c0a..2817583f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -127,6 +127,11 @@ jobs: # Ensure we don't publish images until we pass clippy. needs: [hygiene] runs-on: ubuntu-22.04 + # Only run Quay.io uploads from the main repository + if: | + github.repository == 'helium/gateway-rs' && + (github.event_name != 'pull_request' || + github.event.pull_request.head.repo.full_name == 'helium/gateway-rs') steps: - name: Setup | Cancel Previous Runs uses: styfle/cancel-workflow-action@0.11.0 From ae3d7c866a5703bb61dc228318a96097e539cbd5 Mon Sep 17 00:00:00 2001 From: Louis Thiery Date: Thu, 10 Apr 2025 20:01:46 -0700 Subject: [PATCH 6/6] bump helium-proto --- Cargo.lock | 38 ++++++++++++++++++++++++++++++++---- Cargo.toml | 4 ++-- src/packet_router/mod.rs | 3 +++ src/service/packet_router.rs | 1 + 4 files changed, 40 insertions(+), 6 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 70426840..1dfcc3f2 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -222,7 +222,7 @@ checksum = "9ba43ea6f343b788c8764558649e08df62f86c6ef251fdaeb1ffd010a9ae50a2" [[package]] name = "beacon" version = "0.1.0" -source = "git+https://github.com/helium/proto?rev=d94ed4b#d94ed4b4046263eb78003d484d94ad3cbff7a55f" +source = "git+https://github.com/helium/proto?branch=master#c828e0399f88ebbd6d13c8de39c25d70b9440f5b" dependencies = [ "base64 0.21.4", "byteorder", @@ -423,7 +423,7 @@ version = "4.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0862016ff20d69b84ef8247369fabf5c008a7417002411897d40ee1f4532b873" dependencies = [ - "heck", + "heck 0.4.1", "proc-macro2", "quote", "syn 2.0.38", @@ -958,6 +958,12 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + [[package]] name = "helium-crypto" version = "0.8.3" @@ -987,13 +993,15 @@ dependencies = [ [[package]] name = "helium-proto" version = "0.1.0" -source = "git+https://github.com/helium/proto?rev=d94ed4b#d94ed4b4046263eb78003d484d94ad3cbff7a55f" +source = "git+https://github.com/helium/proto?branch=master#c828e0399f88ebbd6d13c8de39c25d70b9440f5b" dependencies = [ "bytes", "prost", "prost-build", "serde", "serde_json", + "strum", + "strum_macros", "tonic", "tonic-build", ] @@ -1673,7 +1681,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8bdf592881d821b83d471f8af290226c8d51402259e9bb5be7f9f8bdebbb11ac" dependencies = [ "bytes", - "heck", + "heck 0.4.1", "itertools", "log", "multimap", @@ -2206,6 +2214,28 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" +[[package]] +name = "strum" +version = "0.26.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06" +dependencies = [ + "strum_macros", +] + +[[package]] +name = "strum_macros" +version = "0.26.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be" +dependencies = [ + "heck 0.5.0", + "proc-macro2", + "quote", + "rustversion", + "syn 2.0.38", +] + [[package]] name = "subtle" version = "2.4.1" diff --git a/Cargo.toml b/Cargo.toml index 47b49310..a03b5d6d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -18,7 +18,7 @@ members = ["lorawan"] byteorder = "1" serde = { version = "1", features = ["rc", "derive"] } rust_decimal = { version = "1", features = ["serde-with-float"] } -helium-proto = { git = "https://github.com/helium/proto", rev = "d94ed4b", features = [ +helium-proto = { git = "https://github.com/helium/proto", branch = "master", features = [ "services", ] } rand = "0.8" @@ -70,7 +70,7 @@ signature = { version = "1", features = ["std"] } async-trait = "0" angry-purple-tiger = "0" lorawan = { package = "lorawan", path = "lorawan" } -beacon = { git = "https://github.com/helium/proto", rev = "d94ed4b" } +beacon = { git = "https://github.com/helium/proto", branch = "master" } exponential-backoff = { git = "https://github.com/yoshuawuyts/exponential-backoff", branch = "master" } semtech-udp = { version = ">=0.12", default-features = false, features = [ "server", diff --git a/src/packet_router/mod.rs b/src/packet_router/mod.rs index 835b545a..66319710 100644 --- a/src/packet_router/mod.rs +++ b/src/packet_router/mod.rs @@ -123,6 +123,9 @@ impl PacketRouter { } self.reconnect.update_next_time(session_result.is_err()); }, + Ok(envelope_down_v1::Data::PacketAck(_)) => { + warn!("received packet_ack from router but this is not handled") + } Err(err) => { warn!(?err, "router error"); self.reconnect.update_next_time(true); diff --git a/src/service/packet_router.rs b/src/service/packet_router.rs index 18b1be25..a110dedd 100644 --- a/src/service/packet_router.rs +++ b/src/service/packet_router.rs @@ -51,6 +51,7 @@ impl ConduitClient for PacketRouterConduitClient { gateway: keypair.public_key().into(), signature: vec![], session_capable: true, + packet_ack_interval: 0, }; msg.sign(keypair.clone()).await?; let msg = EnvelopeUpV1 {