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

Method flush_queue

chirpstack/src/api/multicast.rs:446–471  ·  view source on GitHub ↗
(
        &self,
        request: Request<api::FlushMulticastGroupQueueRequest>,
    )

Source from the content-addressed store, hash-verified

444 }
445
446 async fn flush_queue(
447 &self,
448 request: Request<api::FlushMulticastGroupQueueRequest>,
449 ) -> Result<Response<()>, Status> {
450 let req = request.get_ref();
451 let mg_id = Uuid::from_str(&req.multicast_group_id).map_err(|e| e.status())?;
452
453 self.validator
454 .validate(
455 request.extensions(),
456 validator::ValidateMulticastGroupQueueAccess::new(validator::Flag::Delete, mg_id),
457 )
458 .await?;
459
460 multicast::flush_queue(&mg_id)
461 .await
462 .map_err(|e| e.status())?;
463
464 let mut resp = Response::new(());
465 resp.metadata_mut().insert(
466 "x-log-multicast_group_id",
467 req.multicast_group_id.parse().unwrap(),
468 );
469
470 Ok(resp)
471 }
472
473 async fn list_queue(
474 &self,

Callers 1

test_multicast_groupFunction · 0.45

Calls 5

flush_queueFunction · 0.85
statusMethod · 0.80
insertMethod · 0.80
unwrapMethod · 0.80
validateMethod · 0.45

Tested by 1

test_multicast_groupFunction · 0.36