Skip to main content

Crate atomr_cluster

Crate atomr_cluster 

Source
Expand description

atomr-cluster. akka.net: src/core/Akka.Cluster/.

Contains membership, gossip, reachability, heartbeat, and the split-brain resolver strategies.

Structs§

ClusterDaemonHandle
Public handle to a running ClusterDaemon.
ClusterEventBus
In-process cluster events bus.
ClusterRemoteAdapter
CrossDcSettings
Slow-path settings used for cross-DC heartbeats / gossip.
DaemonConfig
Configuration knobs.
DaemonSnapshot
Snapshot of the daemon state used by peer_state queries.
Gossip
GossipOverview
Snapshot of seen-by + unreachable info. akka.net: GossipOverview.cs.
HeartbeatSender
In-memory heartbeat-sender state.
HeartbeatState
KeepMajorityStrategy
KeepMajority: the side with strictly more up members survives.
KeepOldestStrategy
KeepOldest: the side containing the oldest (lowest up_number) up member survives.
KeepReferee
KeepReferee: the side containing the designated referee member survives.
LeaseMajorityStrategy
LeaseMajority: majority decision gated by an external lease. In-memory simulation of whether a lease was acquired.
Member
MembershipState
NoSbr
Marker DowningStrategy used when no SBR runtime is installed.
PeerHeartbeat
Per-peer heartbeat record kept by the sender.
Reachability
SbrRuntime
Runtime that pairs a strategy with a stability deadline.
SplitBrainResolver
Facade that holds any of the strategies behind a trait object.
StaticQuorumStrategy
StaticQuorum: requires at least quorum_size reachable members to survive.
SubscriptionHandle
RAII handle returned by ClusterEventBus::subscribe. Dropping it removes the corresponding subscriber.
VectorClock

Enums§

ClusterEvent
Event variants published on ClusterEventBus.
DaemonCmd
Control commands accepted by the daemon mailbox.
DowningDecision
What the resolver recommends the cluster do with the given side.
GossipDecision
Decision the receiver makes after comparing version vectors.
GossipPdu
One gossip exchange. Sender hands a GossipStatus to the peer; peer responds with either a full GossipEnvelope (if it has newer state) or a GossipMerge request (if its state is older).
MemberStatus
ReachabilityStatus
SbrAction
Action emitted by SbrRuntime::tick.
VectorRelation

Constants§

DC_ROLE_PREFIX
Convention: a member’s data-center is encoded as a role of the form "dc-<name>". Akka.NET uses the same prefix.
DEFAULT_DC
Default DC name used when no dc-* role is present.

Traits§

DowningStrategy
GossipTransport
Pluggable transport for gossip PDUs.

Functions§

elect_leader
Pick the deterministic leader from a MembershipState.
gossip_decide
Pure decision function: given the local + remote version vectors, what should we do?
heartbeat_interval_for
Pick the heartbeat interval to use against peer from the perspective of local: in-DC peers get local_interval, cross-DC peers get cross.heartbeat_interval.
is_converged
Convergence holds when every member that this node believes is alive is also reachable. Akka.NET’s gossip uses convergence as a pre-condition for the leader’s status-transition tick (the leader won’t move members from Joining → Up while a partition is in flight).
member_dc
Extract the data-center name from a member’s role list. Returns DEFAULT_DC when no dc-* role is set.
next_status
Compute the next status for a member given the current convergence state. Returns None if no transition applies.
partition_by_dc
Partition a peer list into (in_dc, cross_dc) from local’s perspective.
pick_gossip_target
Pick the next peer to gossip with, given a list of known peer addresses and a per-tick cursor. Skips self_addr.
same_dc
true if a and b belong to the same data-center.
spawn_daemon
Spawn a daemon. The caller provides a transport implementation; the daemon never blocks on it.
spawn_daemon_with_sbr
Same as spawn_daemon but installs an SBR runtime.