Struct EventRecord

Source
pub struct EventRecord {
    pub stream_name: String,
    pub id: Uuid,
    pub kind: EventKind,
    pub data: Bytes,
    pub meta: Bytes,
    pub position: i64,
}
Expand description

A record of an event. This is designed to represent events in a log, and so it has more fields than a CacheRecord.

  • The stream_name field is the name of the stream that the event is in.
  • The id field is a unique identifier for the event.
  • The kind field is the kind of event.
  • The data field is the main data of the event.
  • The meta field is for additional information that may be useful, like timestamps or other bits that might not make sense to store in the data field.
  • The position field is the position of the event in the stream, and is used to order events in the log.

Event records are stored, not ephemeral, but they’re designed to easily be turned into frames and back again. This means that in a system of high traffic, it might be better to use frames directly, and then convert them to records only at the point where they absolutely need to be stored or distributed.

Fields§

§stream_name: String

The name of the stream that the event is in.

§id: Uuid

The unique identifier of the event.

§kind: EventKind

The kind of event.

§data: Bytes

The main data of the event.

§meta: Bytes

Any additional metadata.

§position: i64

The position of the event in the stream.

Implementations§

Source§

impl EventRecord

Source

pub fn new( stream_name: impl AsRef<str>, kind: EventKind, data: impl Into<Bytes>, meta: impl Into<Bytes>, position: impl Into<i64>, ) -> Self

Create a new event record.

Source

pub fn entry( stream_name: impl AsRef<str>, data: impl Into<Bytes>, meta: impl Into<Bytes>, position: impl Into<i64>, ) -> Self

Create a new entry event record.

Source

pub fn marker( stream_name: impl AsRef<str>, data: impl Into<Bytes>, meta: impl Into<Bytes>, position: impl Into<i64>, ) -> Self

Create a new marker event record.

Source

pub fn set_position(self, position: impl Into<i64>) -> Self

Set the position of the event in the stream.

Trait Implementations§

Source§

impl Clone for EventRecord

Source§

fn clone(&self) -> EventRecord

Returns a duplicate 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 Debug for EventRecord

Source§

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

Formats the value using the given formatter. Read more
Source§

impl Default for EventRecord

Source§

fn default() -> EventRecord

Returns the “default value” for a type. Read more
Source§

impl From<Event> for EventRecord

Source§

fn from(event: Event) -> Self

Converts to this type from the input type.
Source§

impl From<EventRecord> for Frame

Source§

fn from(record: EventRecord) -> Self

Converts to this type from the input type.
Source§

impl IntoEvent for EventRecord

Source§

fn into_event(self) -> Event

Consume the type, producing an Event

Auto Trait Implementations§

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

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

Source§

fn __clone_box(&self, _: Private) -> *mut ()

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

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

Source§

fn from_ref(input: &T) -> T

Converts to this type from a reference to the input type.
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> Same for T

Source§

type Output = T

Should always be Self
Source§

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

Source§

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

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,

Source§

impl<A, B, T> HttpServerConnExec<A, B> for T
where B: Body,