Struct PgEventListener

Source
pub struct PgEventListener<E, S>
where E: Event + Clone, S: Serde<E> + Send + Sync,
{ /* private fields */ }
Expand description

PostgreSQL event listener implementation.

Implementations§

Source§

impl<E, S> PgEventListener<E, S>
where E: Event + Clone + Send + Sync + 'static, S: Serde<E> + Clone + Send + Sync + 'static,

Source

pub fn builder(event_store: PgEventStore<E, S>) -> Self

Creates a new PgEventListener that listens to the events coming from the provided PgEventStore

§Parameters
  • event_store: An instance of PgEventStore representing the event store for the listener.
§Returns

A new PgEventListener instance.

Source

pub fn uninitialized(self) -> Self

Marks the event listener as uninitialized, indicating that the database setup is already done.

This method sets the initialize flag to false. When the flag is unset, the listener will not initialize the database. If you set initialize to false, you must ensure that the database is initialized before running the listener. Check the SQL files in the listener/sql folder to initialize the database.

§Returns

The updated PgEventListener instance with the uninitialized flag set.

Source

pub fn register_listener<QE>( self, event_listener: impl EventListener<PgEventId, QE> + 'static, config: PgEventListenerConfig, ) -> Self
where QE: TryFrom<E> + Into<E> + Event + Send + Sync + Clone + 'static, <QE as TryFrom<E>>::Error: StdError + Send + Sync,

Registers an event listener to the PgEventListener.

§Parameters
  • event_listner: An implementation of the EventListener trait for the specified event type QE.
  • config: A PgEventListenerConfig instance representing the configuration for the event listener.
§Returns

The updated PgEventListener instance with the registered event handler.

Source

pub async fn start(self) -> Result<(), Error>

Starts the listener process for all registered event listeners.

§Returns

A Result indicating the success or failure of the listener process.

Source

pub async fn start_with_shutdown<F: Future<Output = ()> + Send + 'static>( self, shutdown: F, ) -> Result<(), Error>

Starts the listener process for all the registered event listeners with a shutdown signal.

§Parameters
  • shutdown: A future that represents the shutdown signal.
§Returns

A Result indicating the success or failure of the listener process.

Auto Trait Implementations§

§

impl<E, S> Freeze for PgEventListener<E, S>
where S: Freeze,

§

impl<E, S> !RefUnwindSafe for PgEventListener<E, S>

§

impl<E, S> Send for PgEventListener<E, S>
where E: Send,

§

impl<E, S> Sync for PgEventListener<E, S>
where E: Sync,

§

impl<E, S> Unpin for PgEventListener<E, S>
where S: Unpin, E: Unpin,

§

impl<E, S> !UnwindSafe for PgEventListener<E, S>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> ErasedDestructor for T
where T: 'static,