pub struct DataEvent {
pub request_id: Uuid,
pub platform: String,
pub account: String,
pub module: String,
pub meta: MetaData,
pub data: DataType,
pub data_middleware: Vec<String>,
}Expand description
Generic data transfer object wrapping metadata and concrete payload.
Fields§
§request_id: UuidUnique request identifier.
platform: StringPlatform identifier.
account: StringAccount identifier.
module: StringModule identifier.
meta: MetaDataMetadata.
data: DataTypePayload.
data_middleware: Vec<String>Data middleware to execute.
Implementations§
Trait Implementations§
Source§impl EventProcessorTrait<DataEvent, ()> for DataStoreProcessor
impl EventProcessorTrait<DataEvent, ()> for DataStoreProcessor
fn pre_status(&self, input: &DataEvent) -> Option<EventEnvelope>
fn finish_status( &self, input: &DataEvent, _output: &(), ) -> Option<EventEnvelope>
fn working_status(&self, input: &DataEvent) -> Option<EventEnvelope>
fn error_status(&self, input: &DataEvent, err: &Error) -> Option<EventEnvelope>
fn retry_status( &self, input: &DataEvent, retry_policy: &RetryPolicy, ) -> Option<EventEnvelope>
Source§impl EventProcessorTrait<DataEvent, DataEvent> for DataMiddlewareProcessor
impl EventProcessorTrait<DataEvent, DataEvent> for DataMiddlewareProcessor
fn pre_status(&self, input: &DataEvent) -> Option<EventEnvelope>
fn finish_status( &self, input: &DataEvent, output: &DataEvent, ) -> Option<EventEnvelope>
fn working_status(&self, input: &DataEvent) -> Option<EventEnvelope>
fn error_status(&self, input: &DataEvent, err: &Error) -> Option<EventEnvelope>
fn retry_status( &self, input: &DataEvent, retry_policy: &RetryPolicy, ) -> Option<EventEnvelope>
Source§impl From<&DataEvent> for DataMiddlewareEvent
impl From<&DataEvent> for DataMiddlewareEvent
Source§impl From<&DataEvent> for DataStoreEvent
impl From<&DataEvent> for DataStoreEvent
Source§impl ProcessorTrait<DataEvent, ()> for DataStoreProcessor
impl ProcessorTrait<DataEvent, ()> for DataStoreProcessor
Source§fn process<'life0, 'async_trait>(
&'life0 self,
input: DataEvent,
context: ProcessorContext,
) -> Pin<Box<dyn Future<Output = ProcessorResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn process<'life0, 'async_trait>(
&'life0 self,
input: DataEvent,
context: ProcessorContext,
) -> Pin<Box<dyn Future<Output = ProcessorResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
This stage uses RetryableFailure to trigger retries.
Additional retry context can be passed through retry_policy.meta
for downstream retry behavior customization.
Source§fn pre_process<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_input: &'life1 Input,
_context: &'life2 ProcessorContext,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn pre_process<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_input: &'life1 Input,
_context: &'life2 ProcessorContext,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Optional pre-processing hook.
Source§fn post_process<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
_input: &'life1 Input,
_output: &'life2 Output,
_context: &'life3 ProcessorContext,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn post_process<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
_input: &'life1 Input,
_output: &'life2 Output,
_context: &'life3 ProcessorContext,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Optional post-processing hook.
Source§fn handle_error<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_input: &'life1 Input,
_error: Error,
_context: &'life2 ProcessorContext,
) -> Pin<Box<dyn Future<Output = ProcessorResult<Output>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn handle_error<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_input: &'life1 Input,
_error: Error,
_context: &'life2 ProcessorContext,
) -> Pin<Box<dyn Future<Output = ProcessorResult<Output>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Optional error handling hook.
Source§fn should_process<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_input: &'life1 Input,
_context: &'life2 ProcessorContext,
) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn should_process<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_input: &'life1 Input,
_context: &'life2 ProcessorContext,
) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Optional predicate to decide whether this input should be processed.
Source§impl ProcessorTrait<DataEvent, DataEvent> for DataMiddlewareProcessor
impl ProcessorTrait<DataEvent, DataEvent> for DataMiddlewareProcessor
Source§fn process<'life0, 'async_trait>(
&'life0 self,
input: DataEvent,
context: ProcessorContext,
) -> Pin<Box<dyn Future<Output = ProcessorResult<DataEvent>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn process<'life0, 'async_trait>(
&'life0 self,
input: DataEvent,
context: ProcessorContext,
) -> Pin<Box<dyn Future<Output = ProcessorResult<DataEvent>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Processes input data.
Source§fn pre_process<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_input: &'life1 Input,
_context: &'life2 ProcessorContext,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn pre_process<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_input: &'life1 Input,
_context: &'life2 ProcessorContext,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Optional pre-processing hook.
Source§fn post_process<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
_input: &'life1 Input,
_output: &'life2 Output,
_context: &'life3 ProcessorContext,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn post_process<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
_input: &'life1 Input,
_output: &'life2 Output,
_context: &'life3 ProcessorContext,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Optional post-processing hook.
Source§fn handle_error<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_input: &'life1 Input,
_error: Error,
_context: &'life2 ProcessorContext,
) -> Pin<Box<dyn Future<Output = ProcessorResult<Output>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn handle_error<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_input: &'life1 Input,
_error: Error,
_context: &'life2 ProcessorContext,
) -> Pin<Box<dyn Future<Output = ProcessorResult<Output>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Optional error handling hook.
Source§fn should_process<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_input: &'life1 Input,
_context: &'life2 ProcessorContext,
) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn should_process<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_input: &'life1 Input,
_context: &'life2 ProcessorContext,
) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Optional predicate to decide whether this input should be processed.
Auto Trait Implementations§
impl Freeze for DataEvent
impl RefUnwindSafe for DataEvent
impl Send for DataEvent
impl Sync for DataEvent
impl Unpin for DataEvent
impl UnsafeUnpin for DataEvent
impl UnwindSafe for DataEvent
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,
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