File tree 2 files changed +13
-0
lines changed
examples/common/pigweed/rpc_services
2 files changed +13
-0
lines changed Original file line number Diff line number Diff line change @@ -485,6 +485,7 @@ class Device : public pw_rpc::nanopb::Device::Service<Device>
485
485
virtual pw::Status TriggerIcdCheckin (const pw_protobuf_Empty & request, pw_protobuf_Empty & response)
486
486
{
487
487
#if CHIP_CONFIG_ENABLE_ICD_CIP
488
+ chip::app::InteractionModelEngine::GetInstance ()->ShutdownAllSubscriptions ();
488
489
chip::DeviceLayer::PlatformMgr ().ScheduleWork (
489
490
[](intptr_t ) {
490
491
ChipLogDetail (AppServer, " Being triggerred to send ICD check-in message to subscriber" );
Original file line number Diff line number Diff line change @@ -387,6 +387,18 @@ void InteractionModelEngine::ShutdownAllSubscriptions()
387
387
ShutdownMatchingSubscriptions ();
388
388
}
389
389
390
+ void InteractionModelEngine::ShutdownAllSubscriptionHandlers ()
391
+ {
392
+ mReadHandlers .ForEachActiveObject ([&](auto * handler) {
393
+ if (!handler->IsType (ReadHandler::InteractionType::Subscribe))
394
+ {
395
+ return Loop::Continue;
396
+ }
397
+ handler->Close ();
398
+ return Loop::Continue;
399
+ });
400
+ }
401
+
390
402
void InteractionModelEngine::ShutdownMatchingSubscriptions (const Optional<FabricIndex> & aFabricIndex,
391
403
const Optional<NodeId> & aPeerNodeId)
392
404
{
You can’t perform that action at this time.
0 commit comments