An executor is responsible for executing actions.
An executor is responsible for executing actions. Each action is guaranteed to begin execution on a fresh stack frame.
A Hub[A]
is a concurrent data structure that allows multiple publishers
to publish A
values and multiple subscribers to poll A
values with the
guarantee that all subscribers will receive all values published to the hub
while they are subscribed.
A MutableConcurrentQueue interface to use under the hood in ZIO.
A MutableConcurrentQueue interface to use under the hood in ZIO.
The implementation at minimum: 1. Should be non-blocking and ideally lock-free. 2. Should provide basic metrics such as how many elements were enqueued/dequeued.
this is declared as abstract class
since invokevirtual
is slightly cheaper than invokeinterface
.
A Platform
provides the minimum capabilities necessary to bootstrap
execution of ZIO
tasks.
See zio.internal.RingBuffer for details on design, tradeoffs, etc.
This can be used whenever an arbitrary number of unique keys needs to be generated as this will just use memory location for equality.
Returns an effect that models success with the specified value.
Lifts an eager, pure value into a Managed.
Returns an STM
effect that succeeds with the specified value.