|
OpenRTM-aist 2.1.0
|
SharedMemory クラス [詳解]
#include <SharedMemoryPort.h>


公開メンバ関数 | |
| 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 () |
限定公開変数類 | |
| ::OpenRTM::PortSharedMemory_var | m_smInterface {OpenRTM::PortSharedMemory::_nil()} |
| bool | m_endian {true} |
| coil::SharedMemory | m_shmem |
| RTC::SharedMemoryPort::SharedMemoryPort | ( | ) |
コンストラクタ
コンストラクタ
|
override |
デストラクタ
デストラクタ
|
override |
マッピングした共有メモリをアンマップする
| unlink | Linuxで/dev/shm以下に作成したファイルを削除する場合にTrueにする |
|
override |
共有メモリの初期化 windowsではページングファイル上に領域を確保する Linuxでは/dev/shm以下にファイルを作成する 作成したファイルの内容を仮想アドレスにマッピングする
|
override |
データの送信を要求する
| virtual::OpenRTM::PortSharedMemory_ptr RTC::SharedMemoryPort::getObjRef | ( | ) |
|
override |
共有メモリのマッピングを行う
| memory_size | 共有メモリのサイズ |
| shm_address | 空間名 |
|
override |
データの送信を知らせる
|
virtual |
データを読み込む
|
override |
エンディアンを設定する
| endian | エンディアン |
|
override |
通信先のCORBAインターフェースを登録する 登録する事により共有メモリの初期化したときに、通信先でもマッピングをやり直すことができる
| sm | SharedMemoryのオブジェクトリファレンス |
|
virtual |
文字列で指定したデータサイズを数値に変換する 1M → 1048576 1k → 1024 100 → 100
| size_str | データサイズ(文字列) |
|
virtual |
データを書き込む 先頭8byteにデータサイズを書き込み、その後ろにデータを書き込む 設定したデータサイズが共有メモリのサイズを上回った場合、共有メモリの初期化を行う
| data | 書き込むデータ |
|
protected |
|
protected |
|
protected |