Discovery Provider
| Method | Purpose |
|---|---|
| ID | Provider name |
| Initialize | One-time setup |
| Register | Register this node with the discovery backend |
| Deregister | Remove this node on shutdown |
| DiscoverPeers | Return peer addresses (host:port strings) |
| Close | Release resources |
discovery/. Pass the provider to ClusterConfig when creating the actor system.
See discovery/selfmanaged for a built-in zero-config provider using UDP broadcast.
Mailbox
| Method | Purpose |
|---|---|
| Enqueue | Push a message. Return error when full (bounded mailbox). |
| Dequeue | Fetch the next message. Called only from the processing goroutine. |
| IsEmpty / Len | Query mailbox state |
| Dispose | Free resources, unblock any waiters |
actor/. Pass via WithMailbox(mailbox) as a SpawnOption. Reference unbounded_mailbox.go and
unbounded_priority_mailbox.go.
Extension (system-wide)
ID must be unique, alphanumeric, up to 255 chars. Add domain-specific methods to your concrete type. Pass via
WithExtensions(ext) when creating the actor system. Actors access via ctx.Extension(id) and type assertion. See Extensions and Dependencies for usage.
Dependency (per-actor)
WithDependencies(dep) as a SpawnOption, or register
with the actor system via system.Inject(dep) after startup. Actors access via ctx.Dependencies() in PreStart,
Receive, PostStop. See Extensions and Dependencies for usage.