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

InPortSHMProvider クラス [詳解]

#include <InPortSHMProvider.h>

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

公開メンバ関数

 InPortSHMProvider ()
 コンストラクタ
 
 ~InPortSHMProvider () override
 デストラクタ
 
void init (coil::Properties &prop) override
 設定初期化
 
void setBuffer (BufferBase< ByteData > *buffer) override
 バッファをセットする
 
void setListener (ConnectorInfo &info, ConnectorListenersBase *listeners) override
 リスナを設定する。
 
void setConnector (InPortConnector *connector) override
 Connectorを設定する。
 
::OpenRTM::PortStatus put () override
 [CORBA interface] バッファにデータを書き込む
 
- 基底クラス RTC::InPortProvider に属する継承公開メンバ関数
 InPortProvider ()
 コンストラクタ
 
virtual ~InPortProvider ()
 デストラクタ
 
virtual void publishInterfaceProfile (SDOPackage::NVList &prop)
 InterfaceProfile情報を公開する
 
virtual bool publishInterface (SDOPackage::NVList &prop)
 Interface情報を公開する
 
- 基底クラス RTC::SharedMemoryPort に属する継承公開メンバ関数
 SharedMemoryPort ()
 コンストラクタ
 
 ~SharedMemoryPort () override
 デストラクタ
 
virtual int string_to_MemorySize (std::string size_str)
 文字列で指定したデータサイズを数値に変換する 1M → 1048576 1k → 1024 100 → 100
 
void create_memory (::CORBA::ULongLong memory_size, const char *shm_address) override
 共有メモリの初期化 windowsではページングファイル上に領域を確保する Linuxでは/dev/shm以下にファイルを作成する 作成したファイルの内容を仮想アドレスにマッピングする
 
void open_memory (::CORBA::ULongLong memory_size, const char *shm_address) override
 共有メモリのマッピングを行う
 
void close_memory (::CORBA::Boolean unlink=false) override
 マッピングした共有メモリをアンマップする
 
virtual void write (ByteData &data)
 データを書き込む 先頭8byteにデータサイズを書き込み、その後ろにデータを書き込む 設定したデータサイズが共有メモリのサイズを上回った場合、共有メモリの初期化を行う
 
virtual void read (ByteData &data)
 データを読み込む
 
void setInterface (::OpenRTM::PortSharedMemory_ptr sm) override
 通信先のCORBAインターフェースを登録する 登録する事により共有メモリの初期化したときに、通信先でもマッピングをやり直すことができる
 
void setEndian (::CORBA::Boolean endian) override
 エンディアンを設定する
 
::OpenRTM::PortStatus put () override
 データの送信を知らせる
 
::OpenRTM::PortStatus get () override
 データの送信を要求する
 
virtual::OpenRTM::PortSharedMemory_ptr getObjRef ()
 

その他の継承メンバ

- 基底クラス RTC::InPortProvider に属する継承限定公開メンバ関数
void setInterfaceType (const char *interface_type)
 インタフェースタイプを設定する
 
void setDataFlowType (const char *dataflow_type)
 データフロータイプを設定する
 
void setSubscriptionType (const char *subs_type)
 サブスクリプションタイプを設定する
 
- 基底クラス RTC::InPortProvider に属する継承限定公開変数類
SDOPackage::NVList m_properties
 ポートプロファイルを保持するプロパティ
 
Logger rtclog
 ロガーストリーム
 
- 基底クラス RTC::SharedMemoryPort に属する継承限定公開変数類
::OpenRTM::PortSharedMemory_var m_smInterface {OpenRTM::PortSharedMemory::_nil()}
 
bool m_endian {true}
 
coil::SharedMemory m_shmem
 

詳解

InPortSHMProvider クラス

InPortProvider

通信手段に 共有メモリ を利用した入力ポートプロバイダーの実装クラス。

から
1.2.0

構築子と解体子

◆ InPortSHMProvider()

RTC::InPortSHMProvider::InPortSHMProvider ( )

コンストラクタ

コンストラクタ

◆ ~InPortSHMProvider()

RTC::InPortSHMProvider::~InPortSHMProvider ( )
override

デストラクタ

デストラクタ

関数詳解

◆ init()

void RTC::InPortSHMProvider::init ( coil::Properties & prop)
overridevirtual

設定初期化

引数
prop設定情報

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

◆ put()

::OpenRTM::PortStatus RTC::InPortSHMProvider::put ( )
override

[CORBA interface] バッファにデータを書き込む

設定されたバッファにデータを書き込む。

引数
data書込対象データ

◆ setBuffer()

void RTC::InPortSHMProvider::setBuffer ( BufferBase< ByteData > * buffer)
overridevirtual

バッファをセットする

引数
bufferOutPortProviderがデータを取り出すバッファへのポインタ

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

◆ setConnector()

void RTC::InPortSHMProvider::setConnector ( InPortConnector * connector)
overridevirtual

Connectorを設定する。

引数
connectorOutPortConnector

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

◆ setListener()

void RTC::InPortSHMProvider::setListener ( ConnectorInfo & info,
ConnectorListenersBase * listeners )
overridevirtual

リスナを設定する。

引数
info接続情報
listenersリスナオブジェクト

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


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