OpenRTM-aist-Python 1.2.1
公開メンバ関数 | 全メンバ一覧
OpenRTM_aist.SharedMemory.SharedMemory クラス

SharedMemory クラス [詳解]

OpenRTM_aist.SharedMemory.SharedMemory の継承関係図
OpenRTM_aist.InPortSHMProvider.InPortSHMProvider OpenRTM_aist.OutPortSHMProvider.OutPortSHMProvider

公開メンバ関数

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
unlinkLinuxで/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)

データの送信を要求する

引数
self

PortStatus get();

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)

データの送信を知らせる

引数
self

PortStatus put();

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
smSharedMemoryのオブジェクトリファレンス

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);


このクラス詳解は次のファイルから抽出されました: