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 |
このクラス詳解は次のファイルから抽出されました: