OpenRTM-aist-Python 2.0.2
OpenRTM_aist.SharedMemory.SharedMemory クラス

[詳解]

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

公開メンバ関数

 __init__ (self)
 
 __del__ (self)
 
 string_to_MemorySize (self, size_str)
 
 create_memory (self, memory_size, shm_address)
 
 open_memory (self, memory_size, shm_address)
 
 close_memory (self, unlink=False)
 
 write (self, data)
 
 read (self)
 
 setInterface (self, sm)
 
 setEndian (self, endian)
 
 put (self)
 
 get (self)
 

詳解

SharedMemory クラス

共有メモリ操作クラス CORBAによる通信により、mmapの初期化、終了などがリモートに操作できる

構築子と解体子

◆ __init__()

OpenRTM_aist.SharedMemory.SharedMemory.__init__ ( self)

コンストラクタ

コンストラクタ

引数
self

OpenRTM_aist.InPortSHMProvider.InPortSHMProvider, OpenRTM_aist.OutPortSHMProvider.OutPortSHMProviderで再実装されています。

◆ __del__()

OpenRTM_aist.SharedMemory.SharedMemory.__del__ ( self)

デストラクタ

デストラクタ

引数
self

OpenRTM_aist.InPortSHMProvider.InPortSHMProvider, OpenRTM_aist.OutPortSHMProvider.OutPortSHMProviderで再実装されています。

メソッド詳解

◆ close_memory()

OpenRTM_aist.SharedMemory.SharedMemory.close_memory ( self,
unlink = False )

マッピングした共有メモリをアンマップする

引数
self
unlinkLinuxで/dev/shm以下に作成したファイルを削除する場合にTrueにする

void close_memory(boolean unlink);

◆ create_memory()

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

◆ get()

OpenRTM_aist.SharedMemory.SharedMemory.get ( self)

データの送信を要求する

引数
self

PortStatus get();

OpenRTM_aist.OutPortSHMProvider.OutPortSHMProviderで再実装されています。

◆ open_memory()

OpenRTM_aist.SharedMemory.SharedMemory.open_memory ( self,
memory_size,
shm_address )

共有メモリのマッピングを行う

引数
self
memory_size共有メモリのサイズ @parama shm_address 空間名

void open_memory(int memory_size, string shm_address);

◆ put()

OpenRTM_aist.SharedMemory.SharedMemory.put ( self)

データの送信を知らせる

引数
self

PortStatus put();

OpenRTM_aist.InPortSHMProvider.InPortSHMProviderで再実装されています。

◆ read()

OpenRTM_aist.SharedMemory.SharedMemory.read ( self)

データを読み込む

引数
self
戻り値
データ

cdrMemoryStream read(data);

◆ setEndian()

OpenRTM_aist.SharedMemory.SharedMemory.setEndian ( self,
endian )

エンディアンを設定する

引数
self
endianエンディアン

void setEndian(bool endian);

◆ setInterface()

OpenRTM_aist.SharedMemory.SharedMemory.setInterface ( self,
sm )

通信先のCORBAインターフェースを登録する 登録する事により共有メモリの初期化したときに、通信先でもマッピングをやり直すことができる

引数
self
smSharedMemoryのオブジェクトリファレンス

void setInterface(.OpenRTM.PortSharedMemory_var sm);

◆ string_to_MemorySize()

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

◆ write()

OpenRTM_aist.SharedMemory.SharedMemory.write ( self,
data )

データを書き込む 先頭8byteにデータサイズを書き込み、その後ろにデータを書き込む 設定したデータサイズが共有メモリのサイズを上回った場合、共有メモリの初期化を行う

引数
self
data書き込むデータ

void write(const cdrMemoryStream& data);


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