(
downlink_id: u32,
relay_ctx: &RelayContext,
ufs: &UplinkFrameSet,
tenant: &tenant::Tenant,
device: &mut device::Device,
join_accept: &PhyPayload,
| 96 | } |
| 97 | |
| 98 | async fn _handle_relayed( |
| 99 | downlink_id: u32, |
| 100 | relay_ctx: &RelayContext, |
| 101 | ufs: &UplinkFrameSet, |
| 102 | tenant: &tenant::Tenant, |
| 103 | device: &mut device::Device, |
| 104 | join_accept: &PhyPayload, |
| 105 | ) -> Result<()> { |
| 106 | let mut ctx = JoinAccept { |
| 107 | uplink_frame_set: ufs, |
| 108 | relay_context: Some(relay_ctx), |
| 109 | tenant, |
| 110 | device, |
| 111 | join_accept, |
| 112 | network_conf: config::get_region_network(&ufs.region_config_id)?, |
| 113 | region_conf: region::get(&ufs.region_config_id)?, |
| 114 | |
| 115 | downlink_frame: chirpstack_api::gw::DownlinkFrame { |
| 116 | downlink_id, |
| 117 | ..Default::default() |
| 118 | }, |
| 119 | downlink_gateway: None, |
| 120 | }; |
| 121 | |
| 122 | ctx.set_device_gateway_rx_info()?; |
| 123 | ctx.select_downlink_gateway()?; |
| 124 | ctx.set_tx_info_relayed()?; |
| 125 | ctx.set_downlink_frame_relayed()?; |
| 126 | ctx.send_join_accept_response().await?; |
| 127 | ctx.save_downlink_frame_relayed().await?; |
| 128 | |
| 129 | Ok(()) |
| 130 | } |
| 131 | |
| 132 | fn set_device_gateway_rx_info(&mut self) -> Result<()> { |
| 133 | trace!("Set device-gateway rx-info"); |
nothing calls this directly
no test coverage detected