OpenRTM-aist 2.1.0
読み取り中…
検索中…
一致する文字列を見つけられません
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()

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 へのポインタ


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