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

Method handle_applayer

chirpstack/src/uplink/data.rs:986–1011  ·  view source on GitHub ↗
(&self)

Source from the content-addressed store, hash-verified

984 }
985
986 async fn handle_applayer(&self) -> Result<()> {
987 trace!("Handling applayer protocol");
988
989 let dev = self.device.as_ref().unwrap();
990 let dp = self.device_profile.as_ref().unwrap();
991
992 let mac = if let lrwn::Payload::MACPayload(pl) = &self.phy_payload.payload {
993 pl
994 } else {
995 return Err(anyhow!("Expected MacPayload"));
996 };
997
998 applayer::handle_uplink(
999 dev,
1000 dp,
1001 &self.uplink_frame_set.rx_info_set,
1002 mac.f_port.unwrap_or(0),
1003 match &mac.frm_payload {
1004 Some(lrwn::FRMPayload::Raw(b)) => b,
1005 _ => &[],
1006 },
1007 )
1008 .await;
1009
1010 Ok(())
1011 }
1012
1013 async fn detect_and_save_measurements(&mut self) -> Result<()> {
1014 trace!("Detecing and saving measurements");

Callers 1

_handleMethod · 0.80

Calls 3

unwrapMethod · 0.80
as_refMethod · 0.80
handle_uplinkFunction · 0.70

Tested by

no test coverage detected