#include <PeriodicExecutionContext.h>
Inheritance diagram for RTC::PeriodicExecutionContext:
Public Member Functions | |
PeriodicExecutionContext () | |
PeriodicExecutionContext (DataFlowComponent_ptr owner, double rate=1000.0) | |
virtual | ~PeriodicExecutionContext () |
ExecutionContextService_ptr | getRef () |
virtual int | open (void *args) |
Create internal activity thread. | |
virtual int | svc (void) |
Create internal activity thread. | |
virtual int | close (unsigned long flags) |
Close activity thread. | |
virtual CORBA::Boolean | is_running () |
Test for ExecutionContext running state. | |
virtual ReturnCode_t | start () |
Start the ExecutionContext. | |
virtual ReturnCode_t | stop () |
Stop the ExecutionContext. | |
virtual CORBA::Double | get_rate () |
Get executionrate(Hz). | |
virtual ReturnCode_t | set_rate (CORBA::Double rate) |
Set rate (Hz). | |
virtual ReturnCode_t | activate_component (LightweightRTObject_ptr comp) |
Activate a component. | |
virtual ReturnCode_t | deactivate_component (LightweightRTObject_ptr comp) |
Deactivate a component. | |
virtual ReturnCode_t | reset_component (LightweightRTObject_ptr comp) |
Deactivate a component. | |
virtual LifeCycleState | get_component_state (LightweightRTObject_ptr comp) |
Get component's state. | |
virtual ExecutionKind | get_kind () |
Get the ExecutionKind. | |
virtual ReturnCode_t | add (LightweightRTObject_ptr comp) |
Add a component. | |
virtual ReturnCode_t | remove (LightweightRTObject_ptr comp) |
Remove the component from component list. | |
virtual ExecutionContextProfile * | get_profile () |
Get the ExecutionContextProfile. | |
Protected Types | |
typedef LifeCycleState | ExecContextState |
typedef StateHolder< ExecContextState > | ECStates |
typedef std::vector< Comp >::iterator | CompItr |
Protected Attributes | |
std::vector< Comp > | m_comps |
bool | m_running |
ExecutionContextProfile | m_profile |
long int | m_usec |
ExecutionContextService_var | m_ref |
bool | m_nowait |
Classes | |
struct | Comp |
class | DFP |
class | DFPBase |
struct | find_comp |
struct | invoke_on_rate_changed |
struct | invoke_on_shutdown |
struct | invoke_on_startup |
struct | invoke_worker |
|
|
|
|
|
|
|
|
|
|
|
|
|
Activate a component.
DescriptionThe given participant RTC is Inactive and is therefore not being invoked according to the execution context's execution kind. This operation shall cause the RTC to transition to the Active state such that it may subsequently be invoked in this execution context.
Constraints
Reimplemented from RTC::ExecutionContextBase. |
|
Add a component. The operation causes the given RTC to begin participating in the execution context. The newly added RTC will begin in the Inactive state. If the ExecutionKind is PERIODIC, the index represents the sorted order in which the RTC is to be executed. Otherwise, the meaning of the index is implementation-defined and may be ignored.
Constraints
Reimplemented from RTC::ExecutionContextBase. |
|
Close activity thread. close() method is called when activity thread svc() is returned. This method deactivate this object and notify it to manager. ACE_Task class method override. |
|
Deactivate a component.
DescriptionThe given RTC is Active in the execution context. Cause it to transition to the Inactive state such that it will not be subsequently invoked from the context unless and until it is activated again.
Constraints
Reimplemented from RTC::ExecutionContextBase. |
|
Get component's state.
DescriptionThis operation shall report the LifeCycleState of the given participant RTC.
Constraints
Reimplemented from RTC::ExecutionContextBase. |
|
Get the ExecutionKind.
DescriptionThis operation shall report the execution kind of the execution context.
ExecutionKindThe ExecutionKind enumeration defines the execution semantics (see OMG RTC Specification section 2.3) of the RTCs that participate in an execution context.
Reimplemented from RTC::ExecutionContextBase. |
|
Get the ExecutionContextProfile.
DescriptionThis operation provides a profile descriptor for the execution context. Reimplemented from RTC::ExecutionContextBase. |
|
Get executionrate(Hz).
DescriptionThis operation shall return the rate (in hertz) at which its Active participating RTCs are being invoked.
SemanticsAn implementation is permitted to perform some periodic or quasi-periodic processing within an execution context with an ExecutionKind other than PERIODIC. In such a case, the result of this operation is implementation-defined. If no periodic processing of any kind is taking place within the context, this operation shall fail as described in section 2.2.1 above.
Constraints
Reimplemented from RTC::ExecutionContextBase. |
|
|
|
Test for ExecutionContext running state.
DescriptionThis operation shall return true if the context is in the Running state.
SemanticsWhile the context is Running, all Active RTCs participating in the context shall be executed according to the context's execution kind.
Reimplemented from RTC::ExecutionContextBase. |
|
Create internal activity thread. Create internal activity thread. This is ACE_Task class method over ride.
|
|
Remove the component from component list.
DescriptionThis operation causes a participant RTC to stop participating in the execution context.
Constraints
Reimplemented from RTC::ExecutionContextBase. |
|
Deactivate a component.
DescriptionThe given RTC is Error or Active in the execution context. Cause it to transition to the Inactive state such that it will not be subsequently invoked from the context unless and until it is activated again.
Constraints
Reimplemented from RTC::ExecutionContextBase. |
|
Set rate (Hz).
DescriptionThis operation shall set the rate (in hertz) at which this context's Active participating RTCs are being called.
SemanticsIf the execution kind of the context is PERIODIC, a rate change shall result in the invocation of on_rate_changed on any RTCs realizing DataFlowComponentAction that are registered with any RTCs participating in the context. An implementation is permitted to perform some periodic or quasi-periodic processing within an execution context with an ExecutionKind other than PERIODIC. If such is the case, and the implementation reports a rate from get_rate, this operation shall set that rate successfully provided that the given rate is valid. If no periodic processing of any kind is taking place within the context, this operation shall fail with ReturnCode_t::UNSUPPORTED.
Constraints
Reimplemented from RTC::ExecutionContextBase. |
|
Start the ExecutionContext.
DescriptionRequest that the context enter the Running state. Once the state transition occurs, the ComponentAction::on_startup operation (see OMG RTC Specification section 2.2.2.5.2) will be invoked.
SemanticsAn execution context may be started and stopped multiple times.
Constraints
Reimplemented from RTC::ExecutionContextBase. |
|
Stop the ExecutionContext.
DescriptionRequest that the context enter the Stopped state. Once the transition occurs, the ComponentAction::on_shutdown operation (see OMG RTC Specification section 2.2.2.5.4) will be invoked.
SemanticsAn execution context may be started and stopped multiple times.
Constraints
Reimplemented from RTC::ExecutionContextBase. |
|
Create internal activity thread. Run by a daemon thread to handle deferred processing. ACE_Task class method override. |
|
|
|
|
|
Reimplemented from RTC::ExecutionContextBase. |
|
|
|
Reimplemented from RTC::ExecutionContextBase. |
|
|