pub struct ServerState {
pub pool: Arc<PgPool>,
pub cqrs: Arc<PostgresCqrs<Game>>,
pub game_view_repo: Arc<PostgresViewRepository<GameView, Game>>,
pub database_changes_sender: Sender<Notification>,
}Expand description
Shared application state for the server.
Fields§
§pool: Arc<PgPool>SQLx connection pool to PostgreSQL
cqrs: Arc<PostgresCqrs<Game>>CQRS/es instance the Game aggregate
game_view_repo: Arc<PostgresViewRepository<GameView, Game>>Repository that maintains the GameView read model
database_changes_sender: Sender<Notification>Broadcast channel – subscribers receive a Notification whenever
the database changes (e.g. new event persisted)
Implementations§
Source§impl ServerState
impl ServerState
Sourcepub fn subscribe_database_changes(&self) -> Receiver<Notification>
pub fn subscribe_database_changes(&self) -> Receiver<Notification>
Returns a new subscriber to database change notifications.
Trait Implementations§
Source§impl Clone for ServerState
impl Clone for ServerState
Source§fn clone(&self) -> ServerState
fn clone(&self) -> ServerState
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for ServerState
impl !RefUnwindSafe for ServerState
impl Send for ServerState
impl Sync for ServerState
impl Unpin for ServerState
impl !UnwindSafe for ServerState
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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