Use DynamicViralPostingInvoker in at/detachStimBuffDeviceCReq

This commit is contained in:
2026-05-31 07:13:53 -04:00
parent c2eea37a7b
commit d1c74a027c
6 changed files with 62 additions and 25 deletions
+6 -2
View File
@@ -452,11 +452,13 @@ attachByCreatingProducer(
} // namespace
sscl::co::ViralNonPostingInvoker<StimBuffDeviceOpResult>
sscl::co::DynamicViralPostingInvoker<StimBuffDeviceOpResult>
livoxGen1_attachDeviceCReq(
[[maybe_unused]] sscl::co::ExplicitPostTarget postTarget,
const std::shared_ptr<device::DeviceAttachmentSpec> &desc,
const std::shared_ptr<sscl::ComponentThread> &componentThread)
{
(void)postTarget;
if (!livoxProto1.livoxProto1_getOrCreateDeviceCReq)
{
throw std::runtime_error(
@@ -482,10 +484,12 @@ livoxGen1_attachDeviceCReq(
co_return co_await attachByCreatingProducer(desc, componentThread);
}
sscl::co::ViralNonPostingInvoker<StimBuffDeviceOpResult>
sscl::co::DynamicViralPostingInvoker<StimBuffDeviceOpResult>
livoxGen1_detachDeviceCReq(
[[maybe_unused]] sscl::co::ExplicitPostTarget postTarget,
const std::shared_ptr<device::DeviceAttachmentSpec> &desc)
{
(void)postTarget;
// Case 1: Check if StimBuffer doesn't exist (early return)
auto stimProducerBase = getStimulusProducer(desc);
if (!stimProducerBase) {