Skip to content

Ping-Pong a memory address for repeated reuse #543

Answered by elfenpiff
nosjojo asked this question in Q&A
Discussion options

You must be logged in to vote

@nosjojo This will not yet work with iceoryx2.

What you are describing is something we describe as a pipeline. Process A produces data and sends it to process B, it consumes and modifies the data a bit and sends it to process C which again modifies the data. In your case process A and C would be the same and it would be a circular pipeline - which is not a problem.

But a pipeline comes with a restriction - only one subscriber is allowed. Otherwise one subscriber is reading a sample while another one is modifying it and causing data races.

Another challenge you would have here is what happens when, in this pipeline, one process crashes? We must be able to at least reclaim the lost sample s…

Replies: 1 comment 3 replies

Comment options

You must be logged in to vote
3 replies
@nosjojo
Comment options

@elfenpiff
Comment options

Answer selected by nosjojo
@nosjojo
Comment options

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
2 participants