mod server¶
- module server¶
Serialized coordinator for one campaign ensemble and system signature.
Enums
- enum CatalogServerError¶
Coordinator startup failure.
- InvalidConfiguration¶
Campaign, ensemble, or replica set is empty.
- InvalidScientificConfiguration¶
Scientific signature, descriptor, validator, or catalog settings disagree.
- Io(std::io::Error)¶
Listener setup failed.
- InvalidJournal(String)¶
A durable request journal is truncated, corrupt, or inconsistent.
Structs and Unions
- struct CatalogServer¶
Running localhost or remote coordinator.
Implementations
- impl CatalogServer¶
Functions
- fn addr(&self) -> SocketAddr¶
Bound socket address.
- fn header(&self) -> &ServerHeader¶
Immutable empty-state run header.
- fn start(addr: &str, config: ServerConfig) -> Result<Self, CatalogServerError>¶
Bind and start a coordinator for one isolated ensemble.
- fn with_clock(mut self, period: Duration) -> Self¶
Spawn a thread that journals one
CatalogOperation::Tickeveryperiod.
- fn with_halving(self, policy: SuccessiveHalving) -> Self¶
Attach a successive-halving policy after start.
- fn with_quorum(self, quorum: f64, deadline_ticks: u64) -> Result<Self, CatalogServerError>¶
Apply a quorum close to the live population after start.
Traits implemented
- impl Drop for CatalogServer¶
- struct ServerConfig¶
Immutable identity and allowed replicas for one coordinator.
Implementations
- impl ServerConfig¶
Functions
- fn new(campaign: impl Into<String>, ensemble: impl Into<String>, signature_digest: [u8; 32], replicas: impl IntoIterator<Item = u32>) -> Result<Self, CatalogServerError>¶
Construct an isolated ensemble configuration.
- fn with_attraction_region_config(mut self, config: AttractionRegionConfig) -> Result<Self, CatalogServerError>¶
Configure the fixed-probe posterior used to define attraction regions.
-
fn with_exact_structure_witness<W>(mut self, witness: W) -> Result<Self, CatalogServerError>¶
where
W: ExactStructureWitness + Send + Sync + 'static
¶ Bind the symmetry-aware witness that makes final basin-identity decisions.
- fn with_halving(mut self, policy: SuccessiveHalving) -> Self¶
Drive live-population size with successive halving.
- fn with_ledger_budget(mut self, per_replica_budget: u64) -> Result<Self, CatalogServerError>¶
Attach an equal charged-work budget for every configured replica.
- fn with_quorum(mut self, quorum: f64, deadline_ticks: u64) -> Result<Self, CatalogServerError>¶
Close population epochs on
quorumof the live roster oncedeadline_tickscoordinator ticks have passed since the first submission of the open epoch.
-
fn with_scientific_state<F>(mut self, signature: SystemSignature, descriptor_space: DescriptorSpace, validator: ValidatorConfig, catalog_capacity: usize, census_radius: f64, total_charged_work: u64, evaluate: F) -> Result<Self, CatalogServerError>¶
where
F: Fn(&[f64]) -> Result<FreshEvaluation, String> + Send + Sync + 'static
¶ Attach the scientific state and receiving-side engine validation.
- fn with_state_directory(mut self, directory: impl Into<PathBuf>) -> Result<Self, CatalogServerError>¶
Persist accepted requests under one isolated ensemble directory.
- struct ServerHeader¶
Run-header evidence that the coordinator owns a new empty state.
- campaign: String¶
Campaign identity.
- ensemble: String¶
Ensemble identity.
- replicas: Vec<u32>¶
Allowed replica identities.
- initial_snapshot_version: u64¶
Snapshot version at construction.
- empty_state_proof: bool¶
Whether catalog, census, replay map, and counters were empty.