Nursery: Initial integration

StimulusProducer: syncAwaitAllSettlements should pump caller io_context
This commit is contained in:
2026-06-09 11:19:42 -04:00
parent 5b81ea893c
commit 91fc655b25
15 changed files with 326 additions and 383 deletions
+5 -5
View File
@@ -577,11 +577,11 @@ UdpCommandDemuxer::waitForCommandResponseCReq(
* we will consider the command to have failed.
*/
boost::asio::io_context &ioContext = componentThread->getIoContext();
std::optional<std::shared_ptr<boost::asio::deadline_timer>> raceTimer;
boost::asio::deadline_timer raceTimer(ioContext);
auto timerAwaiter = adapters::boostAsio::getDeadlineTimerAReqAwaiter(
ioContext,
boost::posix_time::milliseconds(timeoutMs),
raceTimer);
raceTimer,
boost::posix_time::milliseconds(timeoutMs));
auto responseInvoker = waitForCommandResponseCReq(cmdSet, cmdId, deviceIp);
static constexpr int timerMemberSettlementIndex = 0;
@@ -598,8 +598,8 @@ UdpCommandDemuxer::waitForCommandResponseCReq(
if (timerWonFirst) {
cancelPendingCommandWait(cmdSet, cmdId, deviceIp);
} else if (raceTimer) {
(*raceTimer)->cancel();
} else {
raceTimer.cancel();
}
/** Group member adapter coros are fire-and-forget; keep group alive until