15 #ifndef DETECTORGRAPH_INCLUDE_DETECTOR_HPP_ 16 #define DETECTORGRAPH_INCLUDE_DETECTOR_HPP_ 203 #endif // DETECTORGRAPH_INCLUDE_DETECTOR_HPP_
Push data to a topic when timer expires.
void ProcessVertex()
Consume data in the topics.
void InsertEdge(Vertex *aVertex)
void SetupFuturePublishing(FuturePublisher< TTopic > *aFuturePublisher)
Setup an future advertisement on a specific topic.
void SchedulePeriodicPublishing(const TimeOffset aPeriodInMilliseconds)
Schedules a TopicState for publishing periodically.
Implements a graph of Topics & Detectors with Input/Output APIs.
Internal - Manages a fixed number of SubscriptionDispatchers.
Publish data to the graph for future evaluation.
void MarkFutureEdge(Vertex *aVertex)
Manage data and its handler.
A service that provides Timer function to DetectorGraph Detectors.
void SetGraph(Graph *aGraph)
virtual VertexType GetVertexType() const
Returns kDetectorVertex to identify this subclass of Vertex.
virtual void BeginEvaluation()
Called before any calls to SubscriberInterface::Evaluate.
void SetGraph(Graph *aGraph)
void SetTimeoutService(TimeoutPublisherService *apTimeoutPublisherService)
Sets the timeout service and acquires a TimerHandle to be used by the default/simple API...
Topic< TTopicState > * ResolveTopic()
Find/add a topic in the detector graph.
virtual void CompleteEvaluation()
Called after all calls to SubscriberInterface::Evaluate.
void SetupPublishing(Publisher< TTopic > *aPublisher)
Setup an advertisement on a specific topic.
Detector(Graph *graph)
Constructor.
void CreateDispatcher(Topic< TTopicState > *topic, SubscriberInterface< TTopicState > *subscriber)
Base class that implements a Publisher behavior.
A unit of logic in a DetectorGraph.
A Pure interface that declares the Subscriber behavior.
void SetupPeriodicPublishing(const uint64_t aPeriodInMilliseconds, TimeoutPublisherService *aTimeoutPublisherService)
Setup an periodic advertisement on a specific topic.
void SetupTimeoutPublishing(TimeoutPublisher< TTopic > *aTimeoutPublisher, TimeoutPublisherService *aTimeoutPublisherService)
Setup an timeout advertisement on a specific topic.
virtual ~Detector()
Destructor.
Define behaviors of a vertex in a graph.
void Subscribe(SubscriberInterface< TTopicState > *aSubscriber)
Setup an subscription on a specific topic.