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

Method save_downlink_frame_relayed

chirpstack/src/downlink/data.rs:1022–1045  ·  view source on GitHub ↗
(&self)

Source from the content-addressed store, hash-verified

1020 }
1021
1022 async fn save_downlink_frame_relayed(&self) -> Result<()> {
1023 trace!("Saving ForwardDownlinkReq frame");
1024
1025 let relay_ctx = self.relay_context.as_ref().unwrap();
1026 let relay_ds = relay_ctx.device.get_device_session()?;
1027
1028 downlink_frame::save(&internal::DownlinkFrame {
1029 downlink_id: self.downlink_frame.downlink_id,
1030 dev_eui: relay_ctx.device.dev_eui.to_vec(),
1031 dev_eui_relayed: self.device.dev_eui.to_vec(),
1032 device_queue_item_id: match &self.device_queue_item {
1033 Some(qi) => qi.id.as_bytes().to_vec(),
1034 None => vec![],
1035 },
1036 nwk_s_enc_key: relay_ds.nwk_s_enc_key.clone(),
1037 downlink_frame: Some(self.downlink_frame.clone()),
1038 n_f_cnt_down: relay_ds.n_f_cnt_down,
1039 a_f_cnt_down: relay_ds.get_a_f_cnt_down(),
1040 ..Default::default()
1041 })
1042 .await?;
1043
1044 Ok(())
1045 }
1046
1047 async fn send_downlink_frame(&self) -> Result<()> {
1048 trace!("Sending downlink frame");

Callers 1

Calls 6

unwrapMethod · 0.80
as_refMethod · 0.80
get_device_sessionMethod · 0.80
get_a_f_cnt_downMethod · 0.80
saveFunction · 0.50
to_vecMethod · 0.45

Tested by

no test coverage detected