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 () |
| |
SharedMemory クラス
SharedMemoryPort
共有メモリ操作クラス CORBAによる通信により、mmapの初期化、終了などがリモートに操作できる
- から
- 1.2.0
◆ SharedMemoryPort()
| RTC::SharedMemoryPort::SharedMemoryPort |
( |
| ) |
|
◆ ~SharedMemoryPort()
| RTC::SharedMemoryPort::~SharedMemoryPort |
( |
| ) |
|
|
override |
◆ close_memory()
| void RTC::SharedMemoryPort::close_memory |
( |
::CORBA::Boolean | unlink = false | ) |
|
|
override |
マッピングした共有メモリをアンマップする
- 引数
-
| unlink | Linuxで/dev/shm以下に作成したファイルを削除する場合にTrueにする |
◆ create_memory()
| void RTC::SharedMemoryPort::create_memory |
( |
::CORBA::ULongLong | memory_size, |
|
|
const char * | shm_address ) |
|
override |
共有メモリの初期化 windowsではページングファイル上に領域を確保する Linuxでは/dev/shm以下にファイルを作成する 作成したファイルの内容を仮想アドレスにマッピングする
◆ get()
| ::OpenRTM::PortStatus RTC::SharedMemoryPort::get |
( |
| ) |
|
|
override |
◆ getObjRef()
| virtual::OpenRTM::PortSharedMemory_ptr RTC::SharedMemoryPort::getObjRef |
( |
| ) |
|
◆ open_memory()
| void RTC::SharedMemoryPort::open_memory |
( |
::CORBA::ULongLong | memory_size, |
|
|
const char * | shm_address ) |
|
override |
共有メモリのマッピングを行う
- 引数
-
| memory_size | 共有メモリのサイズ |
| shm_address | 空間名 |
◆ put()
| ::OpenRTM::PortStatus RTC::SharedMemoryPort::put |
( |
| ) |
|
|
override |
◆ read()
| virtual void RTC::SharedMemoryPort::read |
( |
ByteData & | data | ) |
|
|
virtual |
◆ setEndian()
| void RTC::SharedMemoryPort::setEndian |
( |
::CORBA::Boolean | endian | ) |
|
|
override |
◆ setInterface()
| void RTC::SharedMemoryPort::setInterface |
( |
::OpenRTM::PortSharedMemory_ptr | sm | ) |
|
|
override |
通信先のCORBAインターフェースを登録する 登録する事により共有メモリの初期化したときに、通信先でもマッピングをやり直すことができる
- 引数
-
| sm | SharedMemoryのオブジェクトリファレンス |
◆ string_to_MemorySize()
| virtual int RTC::SharedMemoryPort::string_to_MemorySize |
( |
std::string | size_str | ) |
|
|
virtual |
文字列で指定したデータサイズを数値に変換する 1M → 1048576 1k → 1024 100 → 100
- 引数
-
- 戻り値
- データサイズ(数値)
◆ write()
| virtual void RTC::SharedMemoryPort::write |
( |
ByteData & | data | ) |
|
|
virtual |
データを書き込む 先頭8byteにデータサイズを書き込み、その後ろにデータを書き込む 設定したデータサイズが共有メモリのサイズを上回った場合、共有メモリの初期化を行う
- 引数
-
◆ m_endian
| bool RTC::SharedMemoryPort::m_endian {true} |
|
protected |
◆ m_shmem
| coil::SharedMemory RTC::SharedMemoryPort::m_shmem |
|
protected |
◆ m_smInterface
| ::OpenRTM::PortSharedMemory_var RTC::SharedMemoryPort::m_smInterface {OpenRTM::PortSharedMemory::_nil()} |
|
protected |
このクラス詳解は次のファイルから抽出されました: