A server protocol for durable actors.
The connection can end. The work can continue. Send commands, read saved outcomes, and return to the same actor session.
| Purpose | Request | Reply |
|---|---|---|
| Open or return to a session | session.open | session.opened |
| Ask the actor to do work | command | receipt |
| Read current saved state | view.read | view |
| Read missed events | updates.read | updates |
| Check a command's result | outcome.read | outcome |
Command admission
The server saves acceptance before replying. It records the final outcome separately. If effects cannot be established, the outcome is uncertain.
Understand the messagescmd-042Progress is temporary. The outcome is saved.
Connection recovery
The server retains ordered updates when a connection ends. A returning client reads after the last update it applied.
Read the recovery rulesShared sessions
A web app, command-line tool, and service can use the same actor session. The server checks access and gives each client the same ordered history.
Understand shared sessionsChoose Elixir or TypeScript. Both use the same messages and recovery rules. Your application supplies transport and storage.
Read the specification