-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Overseer: allow subsystems to instruct the overseer to send signals #4961
Comments
My gut instinct says that this can be done against master and not against the asynchronous backing feature branch, even though this is pre-requisite to async backing. |
I think this has two components:
If there is no logic attached to it, or that logic resides within a small set of subsystems, directly calling
Now one would need access to funnel the infor into There are a few open questions to be clarified before starting the implementation:
Effort seems to be reasonably bounded |
No, I think they'd be pure data for any reasonable use-case. But I guess anything
Very frequent
I don't understand the distinction really. specifically, stuff like the
The only requirement on signals and messaging is that a message sent after receipt of a signal on one subsystem may only be observed by another subsystem after the receipt of the same signal. This property should be the same. |
No 3 was a fuzzy one, thanks for clarifying the rest! |
Right now we have enum FromOverseer<M> {
Signal(OverseerSignal),
Communication { msg: M },
} One way to achieve this would be to change the definition to enum FromOverseer<M, US> {
Signal(OverseerSignal),
UserSignal(US),
Communication { msg: M },
} and then have and then have the overseer be generic over |
If we go for the pull based retrieval, we can close this, or are there any remaining usecases? |
There are possibly other use-cases but none in the near term |
Closing for now |
We should create a new message from subsystems to the overseer which informs the overseer to send a specific signal. We might introduce a generic type parameter
SubsystemInitiatedSignal
which would allow us to prevent subsystems from sending signals such asConclude
,ActiveLeavesUpdate
, or other stuff that they shouldn't.cc @drahnr as the overseer expert
The text was updated successfully, but these errors were encountered: