| Summary | Details on how Orbix 6 manages memory for incoming messages. |
|---|---|
| Article Number | 26913 |
| Environment | Orbix 6 All Supported Operating Systems |
| Question/Problem Description | How does Orbix 6 manage memory for incoming messages? |
| Clarifying Information | The following stack trace below indicates that Orbix allocates memory to read incoming network traffic into. This memory holds incoming GIOP messages. IT_Buffer::HeapStorageImpl::HeapStorageImpl(IT_Buffer::BufferManagerImpl*,unsigned,IT_Buffer::HeapStorageImpl*) [/opt/iona/6.3.3/shlib/amd64/libit_art_sc57.so.5] IT_Buffer::Buffer*IT_Buffer::BufferManagerImpl::get_heap_buffer(unsigned) [/opt/iona/6.3.3/shlib/amd64/libit_art_sc57.so.5] void IT_ATLI2_IP::TCPConnectionImpl::readable(IT_WorkQueue::WorkItem*&) [/opt/iona/6.3.3/shlib/amd64/libit_atli2_ip_sc57.so.5] void IT_ATLI2_IP::TCPConnectionImpl::event_occurred(short,IT_WorkQueue::WorkItem*&) [/opt/iona/6.3.3/shlib/amd64/libit_atli2_ip_sc57.so.5] void IT_ATLI2_IP::PollPoller::process_events(IT_WorkQueue::WorkItem*&) [/opt/iona/6.3.3/shlib/amd64/libit_atli2_ip_sc57.so.5] IT_WorkQueue::WorkItemStatus IT_ATLI2_IP::IPPoolImpl::execute() [/opt/iona/6.3.3/shlib/amd64/libit_atli2_ip_sc57.so.5] void*IT_Work_WorkerThread::run() [/opt/iona/6.3.3/shlib/amd64/libit_art_sc57.so.5] IT_ThreadFactory_call_thread_body [/opt/iona/6.3.3/shlib/default/amd64/libit_ifc_sc57.so.5] |
| Error Message | |
| Defect/Enhancement Number | |
| Cause | |
| Resolution | The Orbix 6 ORB uses a buffer manager that allocates memory from the heap in 16K chunks and holds onto them for the lifetime of the ORB. As incoming GIOP messages are processed, these buffers are released back to the buffer manager and reused. If the pattern of the incoming traffic is such that the volume and/or size of the incoming messages is increasing, the cumulative size of the buffers under the control of the buffer manager will increase, but will stabilize as soon as the peak of the traffic volume has passed. |
| Workaround | |
| Notes | |
| Attachment |
| Created date: | 01 December 2011 |
|---|---|
| Last Modified: | 13 February 2013 |
| Last Published: | 12 May 2012 |
| First Published date: | 01 December 2011 |
#Orbix
#KnowledgeDocs