RTI Routing Service Version 7.1.0
|
Processor interface definition. Provides a way to process Route events and control the data forwarding process. More...
#include <Processor.hpp>
Public Member Functions | |
virtual void | on_input_enabled (Route &route, rti::routing::processor::Input &input)=0 |
Notification of the INPUT_ENABLED event. More... | |
virtual void | on_input_disabled (Route &route, rti::routing::processor::Input &input)=0 |
Notification of the Input disabled event. More... | |
virtual void | on_output_enabled (Route &route, rti::routing::processor::Output &output)=0 |
Notification of the Output enabled event. More... | |
virtual void | on_output_disabled (Route &route, rti::routing::processor::Output &output)=0 |
Notification of the Output disabled event. More... | |
virtual void | on_start (Route &route)=0 |
Notification of the Route started event. More... | |
virtual void | on_stop (Route &route)=0 |
Notification of the Route stopped event. More... | |
virtual void | on_run (Route &route)=0 |
Notification of the Route RUN event. More... | |
virtual void | on_pause (Route &route)=0 |
Notification of the Route stopped event. More... | |
virtual void | on_periodic_action (Route &route)=0 |
Notification of the Route periodic action event. More... | |
virtual void | on_data_available (Route &route)=0 |
Notification of the Route DATA_AVAILABLE event. More... | |
virtual | ~Processor () |
Virtual destructor. More... | |
![]() | |
virtual void | update (const std::map< std::string, std::string > &properties) |
Updates a pluggable entity. More... | |
virtual | ~UpdatableEntity () |
Virtual destructor. More... | |
Processor interface definition. Provides a way to process Route events and control the data forwarding process.
A Processor receives event notifications from its Route owner in the form of operation callbacks. Each event occurrence will be dispatched to the Processor by calling the corresponding method.
Each dispatching method has a signature according to the event kind and data it is associated with. Each event is associated with a Route state; hence limitations and constraints may apply individually to each method.
Note that throwing an exception while processing any of the event notifications is allowed. In this situation, the Route owner will reject the events and none of the associated post conditions will be applied, including state transitions.
|
inlinevirtual |
Virtual destructor.
|
pure virtual |
Notification of the INPUT_ENABLED
event.
This operation is called when an Input enabled event occurs that affects any of the inputs contained in the owner Route.
This operation is called right after the affected Input has been enabled.
A running Routing Service instance will produce a log indicating the occurrence of the event. For example:
std::exception | Throwing an error in this operation will cause the input to be automatically disabled right after. |
|
pure virtual |
Notification of the Input disabled event.
This operation is called when an INPUT_DISABLED
event occurs that affects any of the inputs contained in the owner Route.
This operation is called right before the affected Input is disabled.
A running Routing Service instance will produce a log indicating the occurrence of the event. For example:
[in] | route | Route owner that contains this Processor. |
[in] | input | The Input about to be disabled. |
std::exception | Throwing an error in this operation will cause the input to remain enabled. |
|
pure virtual |
Notification of the Output enabled event.
This operation is called when an OUTPUT_DISABLED
event occurs that affects any of the outputs contained in the owner Route.
This operation is called right after the affected Output has been enabled.
A running Routing Service instance will produce a log indicating the occurrence of the event. For example:
std::exception | Throwing an error in this operation will cause the output to be automatically disabled right after. |
|
pure virtual |
Notification of the Output disabled event.
This operation is called when an OUTPUT_DISABLED
event occurs that affects any of the outputs contained in the owner Route.
This operation is called right before the affected Output is disabled.
A running Routing Service instance will produce a log indicating the occurrence of the event. For example:
[in] | route | Route owner that contains this Processor. |
[in] | output | The Output about to be disabled. |
std::exception | Throwing an error in this operation will cause the output to remain enabled. |
|
pure virtual |
Notification of the Route started event.
This operation is called right before the Route enters the STARTED
state. At the time this operation is called, all the inputs and outputs within the Route are enabled.
A running Routing Service instance will produce a log indicating the occurrence of the event. For example:
std::exception | Throwing an error in this operation will cause the route to remain STOPPED . |
|
pure virtual |
Notification of the Route stopped event.
This operation is called right before the Route enters the STOPPED
state. At the time this operation is called, all the inputs and outputs within the Route are still enabled.
A running Routing Service instance will produce a log indicating the occurrence of the event. For example:
std::exception | Throwing an error in this operation will cause the route to remain STARTED . |
|
pure virtual |
Notification of the Route RUN
event.
This operation is called right before the Route enters the RUNNING
state. This operation is called after the Route went to STARTED
after a successful notification to this Processor,
A Routing Service running instance will produce a log indicating the occurrence of the event. For example:
std::exception | Throwing an error in this operation will cause the route to remain PAUSED . |
|
pure virtual |
Notification of the Route stopped event.
This operation is called right before the Route enters the PAUSED
state. At the time this operation is called, all the inputs and outputs within the Route are still enabled.
A Routing Service running instance will produce a log indicating the occurrence of the event. For example:
std::exception | Throwing an error in this operation will cause the route to remain RUNNING . |
|
pure virtual |
Notification of the Route periodic action event.
This operation is called periodically at the rate specified in the parent Session of the Route owner.
Periodic notifications can occur only while the Route is in the RUNNING
state.
Implementations are allowed to access any of the Input and Output of the owner Route to read and write data, respectively.
A Routing Service running instance will produce a log indicating the occurrence of the event. For example:
|
pure virtual |
Notification of the Route DATA_AVAILABLE
event.
This operation is called each time any of the inputs contained in the owner Route is notified about new data. Notifications of this event can occur only while the Route is in the RUNNING
state.
Implementations are allowed to access any of the Input and Output of the owner Route to read and write data, respectively.
A running Routing Service instance will produce a log indicating the occurrence of the event. For example: