In this session, I will guide you through two recent additions to Ox that I helped implement: channel operators and retries.

Ox is a toolkit for safe direct-style concurrency and resiliency in Scala 3 on the JVM. It leverages the latest features of the JDK, such as virtual threads and structured concurrency.
In this session, I will guide you through two recent additions to Ox that I helped implement: channel operators and retries.
We will begin by exploring the principles of interacting with Ox channels, including how to send and receive elements, and how to signal completion or errors. Then, we will build an operator from scratch to understand the guidelines for creating your own operators.
In the second part, I will delve into the design process of one of Ox's resiliency mechanisms: retries. We will discuss the goals, choices, and potential future improvements of this feature.
The talk explores the recursive structure of Diamond Architecture.
I propose that we can extend Mirrors to operations, and use the most natural DSL of all - plain trait definitions.
This talk aims to equip the audience with the minimum required bagage to get comfortable working with contravariance.
In this beginner-friendly talk we'll try to find out using the power of Scala and functional programming techniques.