A conduit meant as a channel replacement in a stack friendly way
This enables actors to communicate following - Single Write and Many reads principle.
Source and Sink both which are underlying entities of a RingPipe
are essentially mechanisms for external parties communicating with anyone
using a RingPipe to leverage reader and writers.
NOTE: the IN_BUFFER is ringbuffer that writer writes to and is read by entity
using the RingPipe using RingSink’s Reader.
Like wise Writer is used in a manner similar.
A Ring Sink is the just that: a Sink that is bound to ring buffer
Why a reader? Sink carries an in_buffer which outsider writes to.
Reader then used by receiving actor to process messages.
A Ring Source is the emitter bound to ring buffer
Essentially has a writer that is used by underlying user - lets say an actor
This can be leveraged to write to source which then can be read by others.
RingBuffer is a shared entity, expected to be static,
However it is expected that we follow Single Writer and many readers principle,
Source emits events (See PooledEvent<TSHIRT_SIZE> for more details).