Skip to main content

myko/server/
mod.rs

1//! Server-side types for the cell-based Myko server.
2//!
3//! This module contains the tokio-free server types:
4//! - `CellServerCtx` — server context for queries, reports, and event publishing
5//! - `HandlerRegistry` — registry of item/query/report handlers from inventory
6//! - `ClientRegistry` — global WebSocket client writer registry
7//! - `ClientSession` — per-connection subscription management
8//! - `RelationshipManager` — cascade operations for entity relationships
9//! - `Persister` trait — abstraction for event persistence
10//! - Protocol serialization helpers
11//!
12//! The full server runtime (WebSocket accept loop, Postgres, peer registry) lives
13//! in the `myko-server` crate.
14
15pub mod client_registry;
16mod client_session;
17mod context;
18pub mod dispatch_metrics;
19pub mod entity_set_stats;
20mod handler_registry;
21pub mod history_replay;
22pub mod persister;
23mod protocol;
24mod relationship_manager;
25pub mod report_cache_stats;
26
27pub use client_registry::{client_registry, init_client_registry, try_client_registry};
28pub use client_session::{ClientSession, PendingQueryResponse, WsWriter};
29pub use context::CellServerCtx;
30pub(crate) use context::Origin;
31pub use handler_registry::HandlerRegistry;
32pub use history_replay::HistoryReplayProvider;
33pub use persister::{
34    BlackholePersister, NullPersister, PersistError, PersistHealth, Persister, PersisterRouter,
35};
36pub use protocol::{message_to_cbor, message_to_json};
37pub use relationship_manager::RelationshipManager;