JANA2
|
Activable provides a way of propagating information about whether a particular item in the topology is active or not using notifications. More...
#include <JActivable.h>
Public Types | |
enum | Status { Unopened, Inactive, Running, Draining, Drained, Finished, Closed } |
Public Member Functions | |
virtual bool | is_active () |
virtual void | set_active (bool is_active) |
void | update_activeness (bool is_active) |
void | notify_downstream (bool is_active) |
void | attach_upstream (JActivable *activable) |
void | attach_downstream (JActivable *activable) |
Protected Attributes | |
std::atomic< Status > | _status {Status::Unopened} |
Activable provides a way of propagating information about whether a particular item in the topology is active or not using notifications.
It is an instance of the Observer pattern. It takes advantage of the property that the information always flows downstream. Queues and arrows together form a bipartite graph. (Queue vertices only have edges to arrow vertices, and vice versa.) Activable acts like a common vertex type.