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, _this
public 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()