pub struct EventStoreClient<T> { /* private fields */ }
Expand description

Service providing operations against the EventStore functionality of Axon Server

Implementations§

source§

impl EventStoreClient<Channel>

source

pub async fn connect<D>(dst: D) -> Result<EventStoreClient<Channel>, Error>
where D: TryInto<Endpoint>, <D as TryInto<Endpoint>>::Error: Into<Box<dyn Error + Sync + Send>>,

Attempt to create a new client by connecting to a given endpoint.

source§

impl<T> EventStoreClient<T>
where T: GrpcService<UnsyncBoxBody<Bytes, Status>>, <T as GrpcService<UnsyncBoxBody<Bytes, Status>>>::Error: Into<Box<dyn Error + Sync + Send>>, <T as GrpcService<UnsyncBoxBody<Bytes, Status>>>::ResponseBody: Body<Data = Bytes> + Send + 'static, <<T as GrpcService<UnsyncBoxBody<Bytes, Status>>>::ResponseBody as Body>::Error: Into<Box<dyn Error + Sync + Send>> + Send,

source

pub fn new(inner: T) -> EventStoreClient<T>

source

pub fn with_origin(inner: T, origin: Uri) -> EventStoreClient<T>

source

pub fn with_interceptor<F>( inner: T, interceptor: F ) -> EventStoreClient<InterceptedService<T, F>>
where F: Interceptor, <T as GrpcService<UnsyncBoxBody<Bytes, Status>>>::ResponseBody: Default, T: Service<Request<UnsyncBoxBody<Bytes, Status>>, Response = Response<<T as GrpcService<UnsyncBoxBody<Bytes, Status>>>::ResponseBody>>, <T as Service<Request<UnsyncBoxBody<Bytes, Status>>>>::Error: Into<Box<dyn Error + Sync + Send>> + Send + Sync,

source

pub fn send_compressed( self, encoding: CompressionEncoding ) -> EventStoreClient<T>

Compress requests with the given encoding.

This requires the server to support it otherwise it might respond with an error.

source

pub fn accept_compressed( self, encoding: CompressionEncoding ) -> EventStoreClient<T>

Enable decompressing responses.

source

pub fn max_decoding_message_size(self, limit: usize) -> EventStoreClient<T>

Limits the maximum size of a decoded message.

Default: 4MB

source

pub fn max_encoding_message_size(self, limit: usize) -> EventStoreClient<T>

Limits the maximum size of an encoded message.

Default: usize::MAX

source

pub async fn append_event( &mut self, request: impl IntoStreamingRequest<Message = Event> ) -> Result<Response<Confirmation>, Status>

Accepts a stream of Events returning a Confirmation when completed.

source

pub async fn append_snapshot( &mut self, request: impl IntoRequest<Event> ) -> Result<Response<Confirmation>, Status>

Accepts a Snapshot event returning a Confirmation when completed.

source

pub async fn list_aggregate_events( &mut self, request: impl IntoRequest<GetAggregateEventsRequest> ) -> Result<Response<Streaming<Event>>, Status>

Retrieves the Events for a given aggregate. Results are streamed rather than returned at once.

source

pub async fn list_aggregate_snapshots( &mut self, request: impl IntoRequest<GetAggregateSnapshotsRequest> ) -> Result<Response<Streaming<Event>>, Status>

Retrieves the Snapshots for a given aggregate. Results are streamed rather than returned at once.

source

pub async fn list_events( &mut self, request: impl IntoStreamingRequest<Message = GetEventsRequest> ) -> Result<Response<Streaming<EventWithToken>>, Status>

Retrieves the Events from a given tracking token. However, if several GetEventsRequests are sent in the stream only first one will create the tracker, others are used for increasing number of permits or blacklisting. Results are streamed rather than returned at once.

source

pub async fn read_highest_sequence_nr( &mut self, request: impl IntoRequest<ReadHighestSequenceNrRequest> ) -> Result<Response<ReadHighestSequenceNrResponse>, Status>

Gets the highest sequence number for a specific aggregate.

source

pub async fn query_events( &mut self, request: impl IntoStreamingRequest<Message = QueryEventsRequest> ) -> Result<Response<Streaming<QueryEventsResponse>>, Status>

Performs a query on the event store, returns a stream of results. Input is a stream to allow flow control from the client

source

pub async fn get_first_token( &mut self, request: impl IntoRequest<GetFirstTokenRequest> ) -> Result<Response<TrackingToken>, Status>

Retrieves the first token available in event store (typically 0). Returns 0 when no events in store.

source

pub async fn get_last_token( &mut self, request: impl IntoRequest<GetLastTokenRequest> ) -> Result<Response<TrackingToken>, Status>

Retrieves the last committed token in event store. Returns -1 when no events in store.

source

pub async fn get_token_at( &mut self, request: impl IntoRequest<GetTokenAtRequest> ) -> Result<Response<TrackingToken>, Status>

Retrieves the token of the first token of an event from specified time in event store. Returns -1 when no events in store.

Trait Implementations§

source§

impl<T> Clone for EventStoreClient<T>
where T: Clone,

source§

fn clone(&self) -> EventStoreClient<T>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<T> Debug for EventStoreClient<T>
where T: Debug,

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<T> RefUnwindSafe for EventStoreClient<T>
where T: RefUnwindSafe,

§

impl<T> Send for EventStoreClient<T>
where T: Send,

§

impl<T> Sync for EventStoreClient<T>
where T: Sync,

§

impl<T> Unpin for EventStoreClient<T>
where T: Unpin,

§

impl<T> UnwindSafe for EventStoreClient<T>
where T: UnwindSafe,

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.

§

impl<T> FromRef<T> for T
where T: Clone,

§

fn from_ref(input: &T) -> T

Converts to this type from a reference to the input type.
§

impl<T> Instrument for T

§

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

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

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> IntoRequest<T> for T

source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

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

§

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>,

§

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

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

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