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