pub struct CellServer {
pub registry: Arc<StoreRegistry>,
pub handler_registry: Arc<HandlerRegistry>,
pub relationship_manager: Arc<RelationshipManager>,
pub postgres_producer: Option<PostgresProducerHandle>,
pub search_index: Arc<SearchIndex>,
pub persisters: Arc<PersisterRouter>,
pub host_id: Uuid,
/* private fields */
}Expand description
Cell-based Myko server.
Uses hyphae cells for reactive queries and reports instead of actors.
Fields§
§registry: Arc<StoreRegistry>Central entity store registry
handler_registry: Arc<HandlerRegistry>Handler registry for items, queries, and reports
relationship_manager: Arc<RelationshipManager>Relationship manager for cascade operations
postgres_producer: Option<PostgresProducerHandle>Optional Postgres producer handle
search_index: Arc<SearchIndex>Full-text search index
persisters: Arc<PersisterRouter>Persister routing (default + per-entity overrides)
host_id: UuidServer host ID
Implementations§
Source§impl CellServer
impl CellServer
Sourcepub fn builder() -> CellServerBuilder
pub fn builder() -> CellServerBuilder
Create a new server builder.
Sourcepub fn new(config: CellServerConfig) -> Self
pub fn new(config: CellServerConfig) -> Self
Create a new cell-based server.
Sourcepub fn start_peer_registry(&self, config: Option<PeerRegistryConfig>)
pub fn start_peer_registry(&self, config: Option<PeerRegistryConfig>)
Start the peer registry for federation.
Sourcepub fn has_peer_registry(&self) -> bool
pub fn has_peer_registry(&self) -> bool
Check if peer registry is running.
Sourcepub fn registry(&self) -> Arc<StoreRegistry>
pub fn registry(&self) -> Arc<StoreRegistry>
Get the store registry.
Sourcepub fn handler_registry(&self) -> Arc<HandlerRegistry>
pub fn handler_registry(&self) -> Arc<HandlerRegistry>
Get the handler registry.
Sourcepub fn ctx(&self) -> CellServerCtx
pub fn ctx(&self) -> CellServerCtx
Get a server context for module use.
Sourcepub fn postgres_history_store(
&self,
) -> Result<Option<PostgresHistoryStore>, String>
pub fn postgres_history_store( &self, ) -> Result<Option<PostgresHistoryStore>, String>
Create a Postgres-backed history store for replay/windback operations.
Sourcepub fn init_postgres_and_wait(&self, timeout: Duration) -> Result<(), String>
pub fn init_postgres_and_wait(&self, timeout: Duration) -> Result<(), String>
Initialize Postgres replay/listener and wait for catch-up.
Sourcepub fn establish_relations(&self)
pub fn establish_relations(&self)
Establish relationship invariants.
Auto Trait Implementations§
impl !Freeze for CellServer
impl !RefUnwindSafe for CellServer
impl Send for CellServer
impl Sync for CellServer
impl Unpin for CellServer
impl UnsafeUnpin for CellServer
impl !UnwindSafe for CellServer
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more