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 |
◆ 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 |
◆ 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インターフェースを登録する 登録する事により共有メモリの初期化したときに、通信先でもマッピングをやり直すことができる
◆ 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 |
このクラス詳解は次のファイルから抽出されました: