You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The Message Channel (MsgChan) is a library utilizing lockless rings to send/receive 8 byte messages between threads in a single process. The library creates two lockless rings one for sending and one for receiving messages. The current usage of Message Channels is to send messages between Go language threads and the CNDP C code threads. The library is creating and maintaining these lockless rings plus given the developer a simple set of APIs to utilize the channel.
The goal of this task is to modify the library to allow sharing the lockless rings between processes. The messages can not be pointers to other shared memory regions only offsets into the shared memory. The messages can be any 8 byte message and does not need to point to some other memory. The lockless rings appear to already be shared between processes, but the MsgChan structures are not completely sharable.
The implementation should rely on Linux IPC and existing shared memory infrastructure wherever possible.
The text was updated successfully, but these errors were encountered:
KeithWiles
changed the title
Sharable MsgChnl for sending messages between processes
Sharable MsgChan for sending messages between processes
Jan 5, 2023
Difficulty: Medium
The Message Channel (MsgChan) is a library utilizing lockless rings to send/receive 8 byte messages between threads in a single process. The library creates two lockless rings one for sending and one for receiving messages. The current usage of Message Channels is to send messages between Go language threads and the CNDP C code threads. The library is creating and maintaining these lockless rings plus given the developer a simple set of APIs to utilize the channel.
The goal of this task is to modify the library to allow sharing the lockless rings between processes. The messages can not be pointers to other shared memory regions only offsets into the shared memory. The messages can be any 8 byte message and does not need to point to some other memory. The lockless rings appear to already be shared between processes, but the MsgChan structures are not completely sharable.
The implementation should rely on Linux IPC and existing shared memory infrastructure wherever possible.
The text was updated successfully, but these errors were encountered: