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