|
OpenRTM-aist-Python 1.2.2
|
SharedMemory クラス [詳解]
公開メンバ関数 | |
| def | __init__ (self) |
| コンストラクタ [詳解] | |
| def | __del__ (self) |
| デストラクタ [詳解] | |
| def | string_to_MemorySize (self, size_str) |
| 文字列で指定したデータサイズを数値に変換する 1M → 1048576 1k → 1024 100 → 100 [詳解] | |
| def | create_memory (self, memory_size, shm_address) |
| 共有メモリの初期化 windowsではページングファイル上に領域を確保する Linuxでは/dev/shm以下にファイルを作成する 作成したファイルの内容を仮想アドレスにマッピングする [詳解] | |
| def | open_memory (self, memory_size, shm_address) |
| 共有メモリのマッピングを行う [詳解] | |
| def | close_memory (self, unlink=False) |
| マッピングした共有メモリをアンマップする [詳解] | |
| def | write (self, data) |
| データを書き込む 先頭8byteにデータサイズを書き込み、その後ろにデータを書き込む 設定したデータサイズが共有メモリのサイズを上回った場合、共有メモリの初期化を行う [詳解] | |
| def | read (self) |
| データを読み込む [詳解] | |
| def | setInterface (self, sm) |
| 通信先のCORBAインターフェースを登録する 登録する事により共有メモリの初期化したときに、通信先でもマッピングをやり直すことができる [詳解] | |
| def | setEndian (self, endian) |
| エンディアンを設定する [詳解] | |
| def | put (self) |
| データの送信を知らせる [詳解] | |
| def | get (self) |
| データの送信を要求する [詳解] | |
SharedMemory クラス
共有メモリ操作クラス CORBAによる通信により、mmapの初期化、終了などがリモートに操作できる
| def OpenRTM_aist.SharedMemory.SharedMemory.__init__ | ( | self | ) |
コンストラクタ
コンストラクタ
| self |
| def OpenRTM_aist.SharedMemory.SharedMemory.__del__ | ( | self | ) |
デストラクタ
デストラクタ
| self |
| def OpenRTM_aist.SharedMemory.SharedMemory.close_memory | ( | self, | |
unlink = False |
|||
| ) |
マッピングした共有メモリをアンマップする
| self | |
| unlink | Linuxで/dev/shm以下に作成したファイルを削除する場合にTrueにする |
void close_memory(boolean unlink);
| def OpenRTM_aist.SharedMemory.SharedMemory.create_memory | ( | self, | |
| memory_size, | |||
| shm_address | |||
| ) |
共有メモリの初期化 windowsではページングファイル上に領域を確保する Linuxでは/dev/shm以下にファイルを作成する 作成したファイルの内容を仮想アドレスにマッピングする
| self | |
| memory_size | 共有メモリのサイズ |
| shm_address | 空間名 |
void create_memory(int memory_size, string shm_address);
| def OpenRTM_aist.SharedMemory.SharedMemory.get | ( | self | ) |
| def OpenRTM_aist.SharedMemory.SharedMemory.open_memory | ( | self, | |
| memory_size, | |||
| shm_address | |||
| ) |
共有メモリのマッピングを行う
| self | |
| memory_size | 共有メモリのサイズ shm_address 空間名 |
void open_memory(int memory_size, string shm_address);
| def OpenRTM_aist.SharedMemory.SharedMemory.put | ( | self | ) |
| def OpenRTM_aist.SharedMemory.SharedMemory.read | ( | self | ) |
データを読み込む
| self |
cdrMemoryStream read(data);
| def OpenRTM_aist.SharedMemory.SharedMemory.setEndian | ( | self, | |
| endian | |||
| ) |
エンディアンを設定する
| self | |
| endian | エンディアン |
void setEndian(bool endian);
| def OpenRTM_aist.SharedMemory.SharedMemory.setInterface | ( | self, | |
| sm | |||
| ) |
通信先のCORBAインターフェースを登録する 登録する事により共有メモリの初期化したときに、通信先でもマッピングをやり直すことができる
| self | |
| sm | SharedMemoryのオブジェクトリファレンス |
void setInterface(::OpenRTM::PortSharedMemory_var sm);
| def OpenRTM_aist.SharedMemory.SharedMemory.string_to_MemorySize | ( | self, | |
| size_str | |||
| ) |
文字列で指定したデータサイズを数値に変換する 1M → 1048576 1k → 1024 100 → 100
| self | |
| size_str | データサイズ(文字列) |
int string_to_MemorySize(string size_str);
| def OpenRTM_aist.SharedMemory.SharedMemory.write | ( | self, | |
| data | |||
| ) |
データを書き込む 先頭8byteにデータサイズを書き込み、その後ろにデータを書き込む 設定したデータサイズが共有メモリのサイズを上回った場合、共有メモリの初期化を行う
| self | |
| data | 書き込むデータ |
void write(const cdrMemoryStream& data);
1.8.13