Logo FsShelter

FsShelter.Cluster Namespace

Type/Module Description

ClusterConfig (Module)

ClusterConfig (Type)

Parsed cluster config, derived from `FsShelter.Conf` at startup so the Cluster modules never reach back into the Conf map at runtime.

ClusterDeps<'t>

External capabilities the cluster supervisor depends on. `Supervisor.runCluster` wires these to their production defaults; tests (and alternate hosts) can supply `runClusterWith` directly.

Election

ElectionResult

Result of an election round. `None` master means insufficient information (empty live set); the Supervisor stays in Standby.

Epoch (Module)

Epoch (Type)

Monotonic epoch attached to every `MemberView`. Incremented on any add/remove; used in HRW hash to make mastership sticky across non-fatal membership changes.

InboundEvent

Incarnation (Module)

Incarnation (Type)

SWIM per-member "incarnation": a peer bumps its own incarnation when it sees itself as Suspect elsewhere, overriding stale gossip.

LogLevel

Member

A single member row in the local view. Extends MemberDigest with local bookkeeping (last-heard timestamps) that never crosses the wire.

MemberDigest

Gossip payload: one row per member the sender knows about. Wire-format data contract shared between the Membership domain and the Transport.

MembershipError

Errors returned by MemberView operations that take a caller-supplied PeerId.

MembershipEvent

Events emitted by state transitions. Consumed by the Supervisor to drive election recompute and topology activation. Only EpochBumped fires when the live set actually changes; Suspect flaps never bump epoch.

MemberState

Per-member SWIM state.

MemberView (Module)

MemberView (Type)

The local view of the cluster at one peer. Pure value; all mutations are functional updates. Self is never Dead in our own view.

PeerEndpoint (Module)

PeerEndpoint (Type)

Network address a peer listens on.

PeerId (Module)

PeerId (Type)

Stable per-process identity. Persisted to `peer-id.dat` on first boot and reused across restarts so HRW rank survives IP/host changes.

PeerIdStore

PeersCache

PeerTransport (Module)

PeerTransport (Type)

Effectful transport surface. One instance per process.

StoreError

Supervisor

SupervisorEffect

Effects the orchestrator must apply after `step` returns.

SupervisorInput

External inputs the orchestrator feeds into the pure step function.

SupervisorState

Lifecycle phase of the local peer with respect to the topology.

TransportError

WireEnvelope

Wire-level control-plane envelope. Closed DU, custom binary codec.

Type something to start searching.