MCPcopy Create free account
hub / github.com/chirpstack/chirpstack / set_tx_info_relayed

Method set_tx_info_relayed

chirpstack/src/downlink/data.rs:403–429  ·  view source on GitHub ↗
(&mut self)

Source from the content-addressed store, hash-verified

401 }
402
403 fn set_tx_info_relayed(&mut self) -> Result<()> {
404 let mut prefer_rx2_over_rx1 = self._prefer_rx2_dr()?;
405 if self.network_conf.rx2_prefer_on_link_budget {
406 prefer_rx2_over_rx1 = prefer_rx2_over_rx1 || self._prefer_rx2_link_budget()?;
407 }
408
409 // RX2 is prefered and the RX window is set to automatic.
410 if prefer_rx2_over_rx1 && self.network_conf.rx_window == 0 {
411 // RX2
412 self.set_tx_info_for_rx2_relayed()?;
413
414 // RX1
415 self.set_tx_info_for_rx1_relayed()?;
416 } else {
417 // RX1
418 if [0, 1].contains(&self.network_conf.rx_window) {
419 self.set_tx_info_for_rx1_relayed()?;
420 }
421
422 // RX2
423 if [0, 2].contains(&self.network_conf.rx_window) {
424 self.set_tx_info_for_rx2_relayed()?;
425 }
426 }
427
428 Ok(())
429 }
430
431 async fn get_next_device_queue_item(&mut self, is_response: bool) -> Result<()> {
432 trace!("Getting next device queue-item");

Callers 1

Calls 5

containsMethod · 0.80
_prefer_rx2_drMethod · 0.45

Tested by

no test coverage detected