<a href="https://github.com/coralblocks/CoralRing/blob/1168b047e0183c9195ab48505e43e8fb2faea73d/src/main/java/com/coralblocks/coralring/ring/BlockingRingConsumer.java#L190">https://github.com/coralblocks/CoralRing/blob/1168b047e0183c...</a><p>Am I missing something here or does the BlockingRingConsumer not actually block? And worse doesn't it just return garbage if poll is called without first checking availableToPoll?<p>The example sure looks like it... <a href="https://github.com/coralblocks/CoralRing/blob/main/src/main/java/com/coralblocks/coralring/example/ring/BlockingConsumer.java">https://github.com/coralblocks/CoralRing/blob/main/src/main/...</a><p>Which if so isn't this like 1/4th a library for doing IPC? It doesn't seem to do much itself
Weird to see this here! I've used CoralBlocks in the low-latency trading domain previously. Highly recommend. The API is kind, they're very responsive, and the latency is exceptional (and comes with all the basics like thread pinning built-in for convenience)
Related: <a href="https://github.com/pcdv/jocket">https://github.com/pcdv/jocket</a><p>Drop-in replacement for java.net.Socket using shared memory (and optionally, futex for notification)
I don’t get it. How is this advantageous as it’s limited to one machine? Why wouldn’t you just have one jvm running multiple threads? What is the point of having multiple jvm processes interacting through this ring? Can someone enlighten me?
Our kafka isn’t reliable enough. I need to write data on disk before flushing it to kafka. Can I use this lis to write data to disk and then consume inside same jvm. I need data to live through restarts