Summary
The timer-related facilities in Capy overlap significantly and cannot be
implemented without a reactor. As a condition of acceptance, delay() /
timeout() should move to Corosio (keeping a stateless API) and the timer
service should be removed.
Detail
Capy cannot implement delay / timeout without a reactor, and there is
significant overlap among the five timer-related facilities. The agreed direction:
- Move
timeout() and delay() to Corosio, keeping the stateless API.
- Remove
corosio::timer, cancel_at, cancel_after.
- Implement a
std::condition_variable-like single-waiter primitive in Capy.
Acceptance criteria (umbrella / tracking issue)
Sub-items to track (may become separate issues):
References
Relates to corosio benchmark extra-thread observation; Andrey Semashev's "avoid
internal threads" point.
_Raised by Ruben Perez (Capy review) + Vinnie Falco (Benchmark thread), who
escalated it to a condition of acceptance. Source: Boost ML threads "Capy review"
Summary
The timer-related facilities in Capy overlap significantly and cannot be
implemented without a reactor. As a condition of acceptance,
delay()/timeout()should move to Corosio (keeping a stateless API) and the timerservice should be removed.
Detail
Capy cannot implement
delay/timeoutwithout a reactor, and there issignificant overlap among the five timer-related facilities. The agreed direction:
timeout()anddelay()to Corosio, keeping the stateless API.corosio::timer,cancel_at,cancel_after.std::condition_variable-like single-waiter primitive in Capy.Acceptance criteria (umbrella / tracking issue)
Sub-items to track (may become separate issues):
timeout()/delay()to corosio, keeping the stateless API.corosio::timer,cancel_at,cancel_after.concurrency_hint == 1.timeout()time_pointoverload.References
Relates to corosio benchmark extra-thread observation; Andrey Semashev's "avoid
internal threads" point.
_Raised by Ruben Perez (Capy review) + Vinnie Falco (Benchmark thread), who
escalated it to a condition of acceptance. Source: Boost ML threads "Capy review"