namespace NATS.Server.Raft; /// /// RAFT runtime configuration model aligned with Go's raftConfig shape. /// Go reference: server/raft.go raftConfig (Name, Store, Log, Track, Observer, /// Recovering, ScaleUp). /// public sealed class RaftConfig { /// /// Gets or sets the logical name for this RAFT group (meta, stream, or consumer group id). /// public string Name { get; set; } = string.Empty; // Store/log abstractions are intentionally loose until full WAL/store parity is wired. /// /// Gets or sets the storage backend that persists RAFT snapshots and stable state. /// public object? Store { get; set; } /// /// Gets or sets the write-ahead log implementation used for replicated entries. /// public object? Log { get; set; } /// /// Gets or sets a value indicating whether this node tracks replication progress metrics. /// public bool Track { get; set; } /// /// Gets or sets a value indicating whether this node is a non-voting observer. /// public bool Observer { get; set; } /// /// Gets or sets a value indicating whether the group is replaying log state during recovery. /// public bool Recovering { get; set; } /// /// Gets or sets a value indicating whether this node is participating in a membership scale-up. /// public bool ScaleUp { get; set; } }