Vixen
02b45cc4
csharp
public readonly record struct ShardId

Which map instance. The question the whole control plane is keyed by.

Read the guide page for this →

Remarks

A shard is a map being simulated: one process, one scene, a population. This names the shard rather than the process holding it, and the distinction is the one that makes recovery expressible — doc 27 § Health says a lost shard is replaced by a placement, not a resurrection, so the new process gets a new RealmInstanceId and, for anything that survives, the same ShardId never comes back.

A GUID because it is minted by whoever decides a shard should exist, and in a cluster that is several machines at once. A counter would need a coordinator to hand out identities before the coordinator that hands out shards had decided anything.

Fields and properties (3)

  • public Guid Value

    The identity. Empty is None.

  • public static ShardId None

    No shard.

  • public bool IsValid

    Whether this names a shard at all.

Methods (4)

  • public ShardId(Guid Value)

    Which map instance. The question the whole control plane is keyed by.

  • public static ShardId New()

    Mints one.

  • public static bool TryParse(string? text, out ShardId shard)

    Reads one back.

  • public override string ToString()

    Returns the fully qualified type name of this instance.

Used by (70, showing 40)

  • ArrivalTestsVixen.Live.Transfer.Tests
  • CandidateVerdictVixen.Live.Orchestrator
  • ClientTransferTestsVixen.Live.Transfer.Tests
  • ClusterGrainsVixen.Live.Realm.Cluster
  • ClusterSerializationTestsVixen.Live.Cluster.Tests
  • DockerPlacementVixen.Live.Placement.Docker
  • DockerPlacementTestsVixen.Live.Placement.Docker.Tests
  • FakeClusterVixen.Live.Realm.Cluster.Tests
  • FakeFleetVixen.Live.Gate.Tests
  • FakeMapVixen.Live.Realm.Cluster.Tests
  • FakePlayerVixen.Live.Realm.Cluster.Tests
  • FleetActionVixen.Live.Orchestrator
  • FleetGrainVixen.Live.Orchestrator
  • FleetSimulationVixen.Live.Orchestrator.Tests
  • GateLogVixen.Live.Gate
  • GateServiceVixen.Live.Gate
  • GateServiceTestsVixen.Live.Gate.Tests
  • IFleetGrainVixen.Live.Cluster
  • IMapGrainVixen.Live.Cluster
  • IPlayerGrainVixen.Live.Cluster
  • IRealmGrainsVixen.Live.Realm.Cluster
  • KubernetesPlacementVixen.Live.Placement.Kubernetes
  • KubernetesPlacementTestsVixen.Live.Placement.Kubernetes.Tests
  • LiveVocabularyTestsVixen.Live.Abstractions.Tests
  • MapCoordinatorVixen.Live.Orchestrator
  • MapCoordinatorTestsVixen.Live.Orchestrator.Tests
  • MapFleetVixen.Live.Orchestrator
  • MapFleetTestsVixen.Live.Orchestrator.Tests
  • MapGrainVixen.Live.Orchestrator
  • OccupantVixen.Live.Orchestrator
  • OrchestratorLogVixen.Live.Orchestrator
  • PlaceRequestVixen.Live.Cluster
  • PlaceResultVixen.Live.Cluster
  • PlacementDecisionVixen.Live.Orchestrator
  • PlacementDirectorVixen.Live.Orchestrator
  • PlacementDirectorTestsVixen.Live.Orchestrator.Tests
  • PlacementEventVixen.Live.Abstractions
  • PlacementRequestVixen.Live.Orchestrator
  • PlacementWeightsTestsVixen.Live.Orchestrator.Tests
  • PlayerAdmissionVixen.Live.Realm