Memory Sharing IPC
When the two halves of the stream access the same physical memory, memory sharing IPC blocks can be used. These coordinate the sharing of resources between the two ends but do not need to access the payload data. They perform the following actions when events arrive from up and downstream:
- During setup phase:
- Synchronization:
- Exports synchronization requirements from the producer and consumer(s) and imports them on the other side.
- Exports sync objects from the producer and consumer(s) and imports them on the other side.
- Buffers:
- Exports consumer element attributes from downstream and imports them upstream.
- Exports consolidated packet attribute list and packets from upstream and imports them downstream.
- Synchronization:
- During streaming phase:
- Source IPC block signals availability of new payloads to destination block, passing the fence.
- Destination IPC block signals availability of packets for reuse to source block, passing the fence.
- In non-safety builds, during streaming phase:
- Signals changes in packet attributes and buffers from source to destination.
Note:
Reallocation of buffers in non-safety builds are not supported in this release.