pub struct PostgresBackend { /* private fields */ }Expand description
The Postgres implementation: the body is already in
conversation_messages, so publishing is confirming what a row holds and
the locator is the message id. Trivial on purpose — the point of this
phase is the handling, not the storage.
Implementations§
Trait Implementations§
Source§impl Clone for PostgresBackend
impl Clone for PostgresBackend
Source§impl MessagingBackend for PostgresBackend
impl MessagingBackend for PostgresBackend
Source§async fn publish(&self, envelope: Envelope) -> Published
async fn publish(&self, envelope: Envelope) -> Published
Persist a body. Must be idempotent on
publish_key: presented the
same key twice, it returns the same locator rather than storing twice.Source§async fn fetch(
&self,
locator: &Locator,
message_id: Uuid,
) -> BusResult<Option<String>>
async fn fetch( &self, locator: &Locator, message_id: Uuid, ) -> BusResult<Option<String>>
Read a body back by locator, for history. Read more
Auto Trait Implementations§
impl !RefUnwindSafe for PostgresBackend
impl !UnwindSafe for PostgresBackend
impl Freeze for PostgresBackend
impl Send for PostgresBackend
impl Sync for PostgresBackend
impl Unpin for PostgresBackend
impl UnsafeUnpin for PostgresBackend
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
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