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

Function _handle_pr_stop_req

chirpstack/src/api/backend/mod.rs:415–439  ·  view source on GitHub ↗
(b: &[u8])

Source from the content-addressed store, hash-verified

413}
414
415async fn _handle_pr_stop_req(b: &[u8]) -> Result<backend::PRStopAnsPayload> {
416 let pl: backend::PRStopReqPayload = serde_json::from_slice(b)?;
417 let dev_eui = EUI64::from_slice(&pl.dev_eui)?;
418
419 let sess_ids = passive_roaming::get_session_ids_for_dev_eui(dev_eui).await?;
420 if sess_ids.is_empty() {
421 return Ok(backend::PRStopAnsPayload {
422 base: pl
423 .base
424 .to_base_payload_result(backend::ResultCode::UnknownDevEUI, ""),
425 });
426 }
427
428 for sess_id in sess_ids {
429 if let Err(e) = passive_roaming::delete(sess_id).await {
430 error!(error = %e.full(), "Delete passive-roaming device-session error");
431 }
432 }
433
434 Ok(backend::PRStopAnsPayload {
435 base: pl
436 .base
437 .to_base_payload_result(backend::ResultCode::Success, ""),
438 })
439}
440
441async fn handle_xmit_data_req(
442 sender_client: Arc<backend::Client>,

Callers 1

handle_pr_stop_reqFunction · 0.85

Calls 3

deleteFunction · 0.50

Tested by

no test coverage detected