Expand description
The rendezvous: turning the name a graph gave a host into a way of reaching it.
A client always does the same thing — it talks to a broker — and the only thing that changes between having a platform account, having a head node, and having neither is which broker, which is a URL. There is no second code path and no degraded mode.
| deployment | what it is | what it adds |
|---|---|---|
| embedded | in the client’s own process | nothing. It is what makes soma work alone |
| local | a process on a head node | reachable by more than one client |
| platform | ours | authentication, pairing, leases, metering |
Here today: protocol and Path — three questions, four answers, and the
four ways a pair of endpoints can end up talking — and Embedded, the
first of the three deployments. The other two arrive with their consumers,
and so does a Broker trait: today it would have one implementor.
The one decision worth knowing before reading the code: control and cargo go by different routes. What crosses here is a rendezvous — tens of bytes, once per host per session — while what crosses the wire next door is an activation. The broker is in the first and steps out of the second, which is why an embedded broker can be a thread with real serialized messages and still cost nothing anyone can measure.
Structs§
- Embedded
- A broker running on a thread of this process.
- Host
- The name of the process where a node runs.
- Identity
- Who is asking, for whoever has an opinion about it.
- Needs
- What a slice needs of whoever runs it.
- Reaching
- One host, reached through a broker.
- Session
- A client’s side of one conversation with one broker.
- Session
Id - Which stream through a relay a pair of endpoints was given.
- SlotId
- Where the client finds something already standing in its own process.
- Unreadable
- These bytes are not the ones that were written: truncated, left over, or never a message at all.
Enums§
- Ask
- What the client says.
- Endpoint
- How a direct stream is obtained.
- Path
- How two endpoints reach each other. Cheapest first.
- Reply
- What the broker answers.
- Unanswered
- Why an ask got no answer.
Constants§
- PROTOCOL
- The version of this vocabulary that this binary speaks.