public class SharedMemory extends PortSharedMemoryPOA
This is the class to operate a shared memory. This class can operate following operationis using CORBA communication.
| Modifier and Type | Field and Description | 
|---|---|
protected boolean | 
m_endian  | 
| Constructor and Description | 
|---|
SharedMemory()
 Constructor 
 | 
| Modifier and Type | Method and Description | 
|---|---|
void | 
close_memory()  | 
void | 
close_memory(boolean unlink)
 Close a shared memory. 
 | 
void | 
create_memory(long memory_size,
             java.lang.String shm_address)
 Initializes a shared memory.
 
  # windowsではページングファイル上に領域を確保する
  # Linuxでは/dev/shm以下にファイルを作成する
  # 作成したファイルの内容を仮想アドレスにマッピングする 
 | 
PortStatus | 
get()
 Get data.
  #
  # PortStatus get(); 
 | 
void | 
open_memory(long memory_size,
           java.lang.String shm_address)
 Open a shared memory. 
 | 
PortStatus | 
put()
 Put data.
  # PortStatus put(); 
 | 
void | 
read(CdrDataHolder data)
 Read Data. 
 | 
void | 
setEndian(boolean isLittleEndian)
 Sets an endian. 
 | 
void | 
setInterface(PortSharedMemory sm)
 Registers CORBA interfaces. 
 | 
long | 
string_to_MemorySize(java.lang.String size_str)
 Changes a string to the value. 
 | 
void | 
write(CdrDataHolder data)
 Writes in data. 
 | 
_all_interfaces, _invoke, _this, _thispublic long string_to_MemorySize(java.lang.String size_str)
1M -> 1048576 1k -> 1024 100 -> 100
size_str - 
  Stringpublic void create_memory(long memory_size,
                          java.lang.String shm_address)
memory_size - 
  Size of a shared momoryshm_address - 
  name of memory
 # void create_memory(int memory_size, string shm_address);public void open_memory(long memory_size,
                        java.lang.String shm_address)
memory_size - 
  size of shared momoeryshm_address - 
  name of memory
  # void open_memory(int memory_size, string shm_address);public void close_memory(boolean unlink)
unlink - 
  
  # void close_memory(boolean unlink);public void close_memory()
public void write(CdrDataHolder data)
data -  
  data
 # void write(cdrMemoryStream& data);public void read(CdrDataHolder data)
data - 
   Readout data stored into the buffer.
  # void read(::OpenRTM::CdrData_out data);public void setInterface(PortSharedMemory sm)
sm - 
   Object reference of shared momory
  # void close(int memory_size, string shm_address);public void setEndian(boolean isLittleEndian)
isLittleEndian - 
   true: little, false: big
 
 PortStatus setEndian();public PortStatus put()
public PortStatus get()