feat(server): broker agent for inter-actor coordination
This commit is contained in:
@@ -3,14 +3,15 @@ use miette::Diagnostic;
|
||||
use thiserror::Error;
|
||||
|
||||
use crate::{
|
||||
actors::{bootstrap::Bootstrapper, keyholder::KeyHolder},
|
||||
actors::{bootstrap::Bootstrapper, keyholder::KeyHolder, router::MessageRouter},
|
||||
db,
|
||||
};
|
||||
|
||||
pub mod bootstrap;
|
||||
pub mod client;
|
||||
pub mod router;
|
||||
pub mod keyholder;
|
||||
pub mod user_agent;
|
||||
pub mod client;
|
||||
|
||||
#[derive(Error, Debug, Diagnostic)]
|
||||
pub enum SpawnError {
|
||||
@@ -28,6 +29,7 @@ pub enum SpawnError {
|
||||
pub struct GlobalActors {
|
||||
pub key_holder: ActorRef<KeyHolder>,
|
||||
pub bootstrapper: ActorRef<Bootstrapper>,
|
||||
pub router: ActorRef<MessageRouter>,
|
||||
}
|
||||
|
||||
impl GlobalActors {
|
||||
@@ -35,6 +37,7 @@ impl GlobalActors {
|
||||
Ok(Self {
|
||||
bootstrapper: Bootstrapper::spawn(Bootstrapper::new(&db).await?),
|
||||
key_holder: KeyHolder::spawn(KeyHolder::new(db.clone()).await?),
|
||||
router: MessageRouter::spawn(MessageRouter::default()),
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user