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
 接続解除
CdrBufferBase * getBuffer () override
 Buffer を取得する
void activate () override
 アクティブ化
void deactivate () override
 非アクティブ化
void onConnect ()
 接続確立時にコールバックを呼ぶ
void onDisconnect ()
 接続切断時にコールバックを呼ぶ
基底クラス RTC::OutPortConnector に属する継承公開メンバ関数
 OutPortConnector (ConnectorInfo &info, ConnectorListenersBase *listeners)
 コンストラクタ
 ~OutPortConnector () override
 デストラクタ
const ConnectorInfo & profile () 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 CdrBufferBase * createBuffer (ConnectorInfo &info)
 Bufferの生成

限定公開変数類

OutPortProvider * m_provider
 OutPortProvider へのポインタ
ConnectorListenersBase * m_listeners
 ConnectorListenrs への参照
CdrBufferBase * m_buffer
 Buffer へのポインタ
基底クラス RTC::OutPortConnector に属する継承限定公開変数類
Logger rtclog
 ロガーストリーム
ConnectorInfo m_profile
 Port の PortProfile
bool m_littleEndian
 接続エンディアン
PortBase * m_directInPort
 同一プロセス上のピアInPortのポインタ
ConnectorListenersBase * m_listeners
 ConnectorListenrs への参照
ConnectorListenersBase * m_inPortListeners
 InPort 側の ConnectorListenrs への参照
bool m_directMode
 ダイレクト接続のフラグ Trueでダイレクト接続モード
std::string m_marshaling_type
 シリアライザの名前
ByteDataStreamBase * m_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 へのポインタ


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