public class ExecutionContextWorker
extends java.lang.Object
Periodic Sampled Data Processing(周期実行用)ExecutionContextクラス。
修飾子とタイプ | フィールドと説明 |
---|---|
protected java.util.ArrayList<RTObjectStateMachine> |
m_addedComps |
protected java.lang.String |
m_addedMutex |
protected java.util.ArrayList<RTObjectStateMachine> |
m_comps
コンポーネントの参加者リスト
|
protected java.lang.String |
m_mutex |
protected ExecutionContextService |
m_ref |
protected java.util.ArrayList<RTObjectStateMachine> |
m_removedComps |
protected java.lang.String |
m_removedMutex |
protected boolean |
m_running
ExecutionContext の実行状態
true: running, false: stopped
|
protected Logbuf |
rtcout
ロガーストリーム
|
protected boolean |
running_ |
protected boolean |
ticked_ |
コンストラクタと説明 |
---|
ExecutionContextWorker()
デフォルトコンストラクタ
{@.ja デフォルトコンストラクタ
プロファイルに以下の項目を設定する。
|
protected Logbuf rtcout
protected ExecutionContextService m_ref
protected boolean m_running
protected boolean ticked_
protected boolean running_
protected java.util.ArrayList<RTObjectStateMachine> m_comps
protected java.lang.String m_mutex
protected java.util.ArrayList<RTObjectStateMachine> m_addedComps
protected java.lang.String m_addedMutex
protected java.util.ArrayList<RTObjectStateMachine> m_removedComps
protected java.lang.String m_removedMutex
public ExecutionContextWorker()
デフォルトコンストラクタ プロファイルに以下の項目を設定する。 - kind : PERIODIC - rate : 0.0
public void setECRef(ExecutionContextService ref)
public ExecutionContextService getECRef()
public boolean isRunning()
この操作は ExecutionContext が Runnning 状態の場合に true を返す。 Executioncontext が Running の間、当該 Executioncontext に参加し ている全てのアクティブRTコンポーネントが、ExecutionContext の実 行種類に応じて実行される。
public ReturnCode_t start()
ExecutionContext の実行状態を Runnning とするためのリクエストを 発行する。ExecutionContext の状態が遷移すると ComponentAction::on_startup が呼び出される。参加しているRTコンポー ネントが、初期化されるまで ExecutionContext を開始することはでき ない。ExecutionContext は複数回開始/停止を繰り返すことができる。
public ReturnCode_t stop()
ExecutionContext の状態を Stopped とするためのリクエストを発行す る。遷移が発生した場合は、ComponentAction::on_shutdown が呼び出 される。参加しているRTコンポーネントが終了する前に ExecutionContext を停止する必要がある。ExecutionContext は複数回 開始/停止を繰り返すことができる。
public ReturnCode_t activateComponent(LightweightRTObject comp, RTObjectStateMachineHolder rtobjhldr)
Inactive 状態にあるRTコンポーネントをActive に遷移させ、アクティ ブ化する。この操作が呼ばれた結果、on_activate が呼び出される。指 定したRTコンポーネントが参加者リストに含まれない場合は、 BAD_PARAMETER が返される。指定したRTコンポーネントの状態が Inactive 以外の場合は、PRECONDITION_NOT_MET が返される。
comp
- アクティブ化対象RTコンポーネントホルダークラス
public ReturnCode_t waitActivateComplete(RTObjectStateMachine rtobj, TimeValue timeout, long cycle)
public ReturnCode_t waitActivateComplete(RTObjectStateMachine rtobj)
public ReturnCode_t waitActivateComplete(RTObjectStateMachine rtobj, TimeValue timeout)
public ReturnCode_t waitActivateComplete(RTObjectStateMachine rtobj, long cycle)
public ReturnCode_t deactivateComponent(LightweightRTObject comp, RTObjectStateMachineHolder rtobjhldr)
Inactive 状態にあるRTコンポーネントを非アクティブ化し、Inactive に遷移させる。この操作が呼ばれた結果、on_deactivate が呼び出され る。指定したRTコンポーネントが参加者リストに含まれない場合は、 BAD_PARAMETER が返される。指定したRTコンポーネントの状態が Active 以外の場合は、PRECONDITION_NOT_MET が返される。
comp
- 非アクティブ化対象RTコンポーネントホルダー
public ReturnCode_t waitDeactivateComplete(RTObjectStateMachine rtobj, TimeValue timeout, long cycle)
public ReturnCode_t waitDeactivateComplete(RTObjectStateMachine rtobj, TimeValue timeout)
public ReturnCode_t waitDeactivateComplete(RTObjectStateMachine rtobj, long cycle)
public ReturnCode_t waitDeactivateComplete(RTObjectStateMachine rtobj)
public ReturnCode_t resetComponent(LightweightRTObject comp, RTObjectStateMachineHolder rtobjhldr)
Error 状態のRTコンポーネントの復帰を試みる。この操作が呼ばれた結 果、on_reset が呼び出される。指定したRTコンポーネントが参加者リ ストに含まれない場合は、BAD_PARAMETER が返される。指定したRTコン ポーネントの状態が Error 以外の場合は、PRECONDITION_NOT_MET が返 される。
comp
- リセット対象RTコンポーネントホルダー
public ReturnCode_t waitResetComplete(RTObjectStateMachine rtobj, TimeValue timeout, long cycle)
public ReturnCode_t waitResetComplete(RTObjectStateMachine rtobj, TimeValue timeout)
public ReturnCode_t waitResetComplete(RTObjectStateMachine rtobj, long cycle)
public ReturnCode_t waitResetComplete(RTObjectStateMachine rtobj)
public LifeCycleState getComponentState(LightweightRTObject comp)
指定したRTコンポーネントの状態(LifeCycleState)を取得する。指定し たRTコンポーネントが参加者リストに含まれない場合は、 UNKNOWN_STATE が返される。
comp
- 状態取得対象RTコンポーネント
public final java.lang.String getStateString(LifeCycleState state)
public ReturnCode_t addComponent(LightweightRTObject comp)
指定したRTコンポーネントを参加者リストに追加する。追加されたRTコ ンポーネントは attach_context が呼ばれ、Inactive 状態に遷移する。 指定されたRTコンポーネントがnullの場合は、BAD_PARAMETER が返され る。指定されたRTコンポーネントが DataFlowComponent 以外の場合は、 BAD_PARAMETER が返される。
comp
- 追加対象RTコンポーネント
public ReturnCode_t bindComponent(RTObject_impl rtc)
コンポーネントをバインドする。
rtc
- RTコンポーネント
public ReturnCode_t removeComponent(LightweightRTObject comp)
指定したRTコンポーネントを参加者リストから削除する。削除された RTコンポーネントは detach_context が呼ばれる。指定されたRTコンポー ネントが参加者リストに登録されていない場合は、BAD_PARAMETER が返 される。
comp
- 削除対象RTコンポーネント
public RTObjectStateMachine findComponent(LightweightRTObject comp)
public boolean isAllCurrentState(LifeCycleState state)
public boolean isAllNextState(LifeCycleState state)
public boolean isOneOfCurrentState(LifeCycleState state)
public boolean isOneOfNextState(LifeCycleState state)
public void invokeWorker()
public void invokeWorkerPreDo()
public void invokeWorkerDo()
public void invokeWorkerPostDo()
public void updateComponentList()