-
Dear All, Seeing the following page, There is a NamedPipe. I'm little bit confused about the description of NamedPipe. I have few qustions.
|
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 3 replies
-
It is based on shared memory and a lock-free queue.
Zero-copy is usually a combination of a communication channel which transmits only pointers to the data and a shared memory which contains the data. The NamedPipe is one possible communication channel to transmit pointers, in combination with a shared memory object containing the data one can establish zero-copy communication. Btw. roudi is our central broker which establishes the connections and manages the resources and is not located in hoofs
We have multiple IpcChannels to establish rudimentary communication between processes. By default we use an ipc channel based on unix domain sockets, this is not available in windows and therefore we implemented the NamedPipe as alternative IpcChannel.
In theory a named pipe should be faster since it does not interact with OS mechanisms like the ones required for a socket based communication. Since we are using the unix domain socket based IpcChannel only in the startup process the iceoryx communication can be very well compared to a pure namedpipe communication since they are both based on shared memory and the same queues. |
Beta Was this translation helpful? Give feedback.
@givesun
It is based on shared memory and a lock-free queue.
Zero-copy is usually a combination of a communication channel which transmits only pointers to the data and a shared memory which contains the data. The NamedPipe is one possible communication channel to transmit pointers, in combination with a shared memory object containing the data one can establish zero-copy communication.
This is for instance done in Windows.
Btw. roudi is our central broker which establishes the connections and manages the resources and is not located in hoofs