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

Method _handle

chirpstack/src/downlink/roaming.rs:35–58  ·  view source on GitHub ↗
(ufs: UplinkFrameSet, phy: Vec<u8>, dl_meta: DLMetaData)

Source from the content-addressed store, hash-verified

33 }
34
35 async fn _handle(ufs: UplinkFrameSet, phy: Vec<u8>, dl_meta: DLMetaData) -> Result<()> {
36 let network_conf = config::get_region_network(&ufs.region_config_id)?;
37 let region_conf = region::get(&ufs.region_config_id)?;
38
39 let mut ctx = PassiveRoamingDownlink {
40 uplink_frame_set: ufs,
41 phy_payload: phy,
42 dl_meta_data: dl_meta,
43 network_conf,
44 region_conf,
45 downlink_frame: gw::DownlinkFrame {
46 downlink_id: rand::rng().random(),
47 ..Default::default()
48 },
49 downlink_gateway: None,
50 };
51
52 ctx.select_downlink_gateway()?;
53 ctx.set_downlink_frame()?;
54 ctx.save_downlink_frame().await?;
55 ctx.send_downlink_frame().await?;
56
57 Ok(())
58 }
59
60 fn select_downlink_gateway(&mut self) -> Result<()> {
61 trace!("Selecting downlink gateway");

Callers

nothing calls this directly

Calls 6

get_region_networkFunction · 0.85
getFunction · 0.50
set_downlink_frameMethod · 0.45
save_downlink_frameMethod · 0.45
send_downlink_frameMethod · 0.45

Tested by

no test coverage detected