OpenRTM-aist 2.0.2
読み取り中…
検索中…
一致する文字列を見つけられません
RTC::OutPortPullConnector クラス

OutPortPullConnector クラス [詳解]

#include <OutPortPullConnector.h>

RTC::OutPortPullConnector の継承関係図
RTC::OutPortPullConnector 連携図

公開メンバ関数

 OutPortPullConnector (ConnectorInfo info, OutPortProvider *provider, ConnectorListenersBase *listeners, CdrBufferBase *buffer=nullptr)
 コンストラクタ
 
 ~OutPortPullConnector () override
 デストラクタ
 
DataPortStatus write (ByteDataStreamBase *data) override
 データの書き込み
 
BufferStatus read (ByteData &data) override
 
DataPortStatus disconnect () override
 接続解除
 
CdrBufferBasegetBuffer () override
 Buffer を取得する
 
void activate () override
 アクティブ化
 
void deactivate () override
 非アクティブ化
 
void onConnect ()
 接続確立時にコールバックを呼ぶ
 
void onDisconnect ()
 接続切断時にコールバックを呼ぶ
 
- 基底クラス RTC::OutPortConnector に属する継承公開メンバ関数
 OutPortConnector (ConnectorInfo &info, ConnectorListenersBase *listeners)
 コンストラクタ
 
 ~OutPortConnector () override
 デストラクタ
 
const ConnectorInfoprofile () override
 Profile 取得
 
const char * id () override
 Connector ID 取得
 
const char * name () override
 Connector 名取得
 
virtual void setEndian (bool endian_type)
 endianタイプ設定
 
virtual bool isLittleEndian ()
 endian 設定を返す
 
template<class DataType >
DataPortStatus write (DataType &data)
 データ型の変換テンプレート
 
bool setInPort (InPortBase *directInPort)
 
virtual void setPullDirectMode ()
 ダイレクト接続モードに設定
 
virtual bool pullDirectMode ()
 ダイレクト接続モードかの判定
 
virtual void unsubscribeInterface (const coil::Properties &prop)
 コンシューマのインターフェースの登録を取り消す
 
- 基底クラス RTC::ConnectorBase に属する継承公開メンバ関数
virtual ~ConnectorBase ()=default
 デストラクタ
 

静的公開メンバ関数

static CdrBufferBasecreateBuffer (ConnectorInfo &info)
 Bufferの生成
 

限定公開変数類

OutPortProviderm_provider
 OutPortProvider へのポインタ
 
ConnectorListenersBasem_listeners
 ConnectorListenrs への参照
 
CdrBufferBasem_buffer
 Buffer へのポインタ
 
- 基底クラス RTC::OutPortConnector に属する継承限定公開変数類
Logger rtclog
 ロガーストリーム
 
ConnectorInfo m_profile
 Port の PortProfile
 
bool m_littleEndian
 接続エンディアン
 
PortBasem_directInPort
 同一プロセス上のピアInPortのポインタ
 
ConnectorListenersBasem_listeners
 ConnectorListenrs への参照
 
ConnectorListenersBasem_inPortListeners
 InPort 側の ConnectorListenrs への参照
 
bool m_directMode
 ダイレクト接続のフラグ Trueでダイレクト接続モード
 
std::string m_marshaling_type
 シリアライザの名前
 
ByteDataStreamBasem_cdr
 

詳解

OutPortPullConnector クラス

OutPort の pull 型データフローのための Connector クラス。このオブ ジェクトは、接続時に dataflow_type に pull が指定された場合、 OutPort によって生成・所有され、InPortPullConnector と対になって、 データポートの pull 型のデータフローを実現する。一つの接続に対して、 一つのデータストリームを提供する唯一の Connector が対応する。 Connector は 接続時に生成される UUID 形式の ID により区別される。

OutPortPullConnector は以下の三つのオブジェクトを所有し管理する。

OutPort に書き込まれたデータは OutPortPullConnector::write() に渡 され Buffer に書き込まれる。InPortPullConnector が OutPortPullConnector からデータを読み出すことで InPort にデータが 転送される。

から
1.0.0

構築子と解体子

◆ OutPortPullConnector()

RTC::OutPortPullConnector::OutPortPullConnector ( ConnectorInfo info,
OutPortProvider * provider,
ConnectorListenersBase * listeners,
CdrBufferBase * buffer = nullptr )

コンストラクタ

OutPortPullConnector のコンストラクタはオブジェクト生成時に下記 を引数にとる。ConnectorInfo は接続情報を含み、この情報に従いバッ ファ等を生成する。OutPort インターフェースのプロバイダオブジェク トへのポインタを取り、所有権を持つので、OutPortPullConnector は OutPortProvider の解体責任を持つ。各種イベントに対するコールバッ ク機構を提供する ConnectorListeners を持ち、適切なタイミングでコー ルバックを呼び出す。データバッファがもし OutPortBase から提供さ れる場合はそのポインタを取る。

引数
infoConnectorInfo
providerOutPortProvider
listenersConnectorListeners 型のリスナオブジェクトリスト
bufferCdrBufferBase 型のバッファ

◆ ~OutPortPullConnector()

RTC::OutPortPullConnector::~OutPortPullConnector ( )
override

デストラクタ

disconnect() が呼ばれ、provider, buffer が解体・削除される。

関数詳解

◆ activate()

void RTC::OutPortPullConnector::activate ( )
inlineoverridevirtual

アクティブ化

このコネクタをアクティブ化する

RTC::ConnectorBaseを実装しています。

◆ createBuffer()

static CdrBufferBase * RTC::OutPortPullConnector::createBuffer ( ConnectorInfo & info)
static

Bufferの生成

◆ deactivate()

void RTC::OutPortPullConnector::deactivate ( )
inlineoverridevirtual

非アクティブ化

このコネクタを非アクティブ化する

RTC::ConnectorBaseを実装しています。

◆ disconnect()

DataPortStatus RTC::OutPortPullConnector::disconnect ( )
overridevirtual

接続解除

consumer, publisher, buffer が解体・削除される。

RTC::OutPortConnectorを実装しています。

◆ getBuffer()

CdrBufferBase * RTC::OutPortPullConnector::getBuffer ( )
overridevirtual

Buffer を取得する

Connector が保持している Buffer を返す

RTC::OutPortConnectorを実装しています。

◆ onConnect()

void RTC::OutPortPullConnector::onConnect ( )

接続確立時にコールバックを呼ぶ

◆ onDisconnect()

void RTC::OutPortPullConnector::onDisconnect ( )

接続切断時にコールバックを呼ぶ

◆ read()

BufferStatus RTC::OutPortPullConnector::read ( ByteData & data)
overridevirtual

RTC::OutPortConnectorを再実装しています。

◆ write()

DataPortStatus RTC::OutPortPullConnector::write ( ByteDataStreamBase * data)
overridevirtual

データの書き込み

Publisherに対してデータを書き込み、これにより対応するInPortへ データが転送される。

RTC::OutPortConnectorを実装しています。

メンバ詳解

◆ m_buffer

CdrBufferBase* RTC::OutPortPullConnector::m_buffer
protected

Buffer へのポインタ

◆ m_listeners

ConnectorListenersBase* RTC::OutPortPullConnector::m_listeners
protected

ConnectorListenrs への参照

◆ m_provider

OutPortProvider* RTC::OutPortPullConnector::m_provider
protected

OutPortProvider へのポインタ


このクラス詳解は次のファイルから抽出されました: