JANA2
JActivable Class Reference

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>

Inheritance diagram for JActivable:

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}
 

Detailed Description

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.


The documentation for this class was generated from the following file: