3. OX
safe direct-style concurrency and resiliency for Scala on the JVM
a developer-friendly wrapper for Java’s structured concurrency
channels
retries
4. IN CONCURRENT SYSTEMS
INTERACTION PATTERNS
actor model (1973): asynchronous*, messages sent to a named receiver
modern CSP (1978): blocking* (rendezvous), messages sent via channels
* but:
actors with message acknowledgements — e
ff
ectively blocking
bu
ff
ered channels — async
6. ANATOMY OF AN OPERATOR
create the downstream channel
create a fork to receive from the upstream channel
apply logic and send the result to the downstream channel
propagate completion/errors downstream
return the downstream channel
8. RETRIES
failures are inevitable, but often temporary
various scenarios — various delays
failed concurrent transaction — retry immediately
timeout — wait