Vixen
02b45cc4
csharp
public enum ShardState

Where a shard is in its life. Doc 27 § Grains, and the spine of the whole design.

Read the guide page for this →

Remarks

Requested → Starting → Ready → Draining → Stopping → Stopped ↓ ↓ ↓ Failed ← Lost ← (missed heartbeats) ⚠ Ready is the only state that is a placement candidate, and that single rule is what makes both elastic scaling and rolling upgrades work with no further mechanism: a shard stops taking arrivals the instant it starts draining, and one that has not finished loading its map never takes any.

Fields and properties (8)

  • Requested

    A decision to exist, with no process behind it yet.

  • Starting

    The backend created something. It is not a placement candidate.

  • Ready

    Connected, map loaded, endpoint reported. The only placeable state.

  • Draining

    No new placements; the players already here are moved at safe moments (§ Drain).

  • Stopping

    Empty, and shutting down.

  • Stopped

    Gone, on purpose.

  • Failed

    It never came up.

  • Lost

    Three heartbeats missed. Gone, not on purpose, and its volatile state with it — recovery is a placement rather than a resurrection.

Used by (27)

  • ClusterSerializationTestsVixen.Live.Cluster.Tests
  • FakeShardVixen.Live.Realm.Cluster.Tests
  • FleetGrainVixen.Live.Orchestrator
  • FleetSimulationVixen.Live.Orchestrator.Tests
  • IShardGrainVixen.Live.Cluster
  • MapCoordinatorVixen.Live.Orchestrator
  • MapCoordinatorTestsVixen.Live.Orchestrator.Tests
  • MapFleetVixen.Live.Orchestrator
  • MapFleetTestsVixen.Live.Orchestrator.Tests
  • MapGrainVixen.Live.Orchestrator
  • PlacementDirectorVixen.Live.Orchestrator
  • PlacementDirectorTestsVixen.Live.Orchestrator.Tests
  • PlacementWeightsTestsVixen.Live.Orchestrator.Tests
  • RealmClusterVixen.Live.Realm.Cluster
  • RealmClusterTestsVixen.Live.Realm.Cluster.Tests
  • RealmHealthVixen.Live.Realm
  • RealmHostVixen.Live.Realm
  • RealmHostTestsVixen.Live.Realm.Tests
  • RolloutVixen.Live.Orchestrator
  • RolloutTestsVixen.Live.Orchestrator.Tests
  • ShardCandidateVixen.Live.Orchestrator
  • ShardGrainVixen.Live.Orchestrator
  • ShardLifecycleVixen.Live.Orchestrator
  • ShardLifecycleTestsVixen.Live.Orchestrator.Tests
  • ShardReportVixen.Live.Cluster
  • SimulatedVixen.Live.Orchestrator.Tests
  • TransferFleetVixen.Live.Realm.Tests