Event

Enum Event 

Source
#[non_exhaustive]
pub enum Event { Input { id: DataId, metadata: Metadata, data: ArrowData, }, InputClosed { id: DataId, }, Stop(StopCause), Reload { operator_id: Option<OperatorId>, }, Error(String), }
Expand description

Represents an incoming Dora event.

Events might be triggered by other nodes, by Dora itself, or by some external user input.

It’s safe to ignore event types that are not relevant to the node.

This enum is marked as non_exhaustive because we might add additional variants in the future. Please ignore unknown event types instead of throwing an error to avoid breakage when updating Dora.

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

Input

An input was received from another node.

This event corresponds to one of the inputs of the node as specified in the dataflow YAML file.

Fields

§id: DataId

The input ID, as specified in the YAML file.

Note that this is not the output ID of the sender, but the ID assigned to the input in the YAML file.

§metadata: Metadata

Meta information about this input, e.g. the timestamp.

§data: ArrowData

The actual data in the Apache Arrow data format.

§

InputClosed

An input was closed by the sender.

The sending node mapped to an input exited, so this input will receive no more data.

Fields

§id: DataId

The ID of the input that was closed, as specified in the YAML file.

Note that this is not the output ID of the sender, but the ID assigned to the input in the YAML file.

§

Stop(StopCause)

Notification that the event stream is about to close.

The StopCause field contains the reason for the event stream closure.

Typically, nodes should exit once the event stream closes. One notable exception are nodes with no inputs, which will receive aa Event::Stop(StopCause::AllInputsClosed) right at startup. Source nodes might want to keep producing outputs still. (There is currently an open discussion of changing this behavior and not sending AllInputsClosed to nodes without inputs.)

Note: Stop events with StopCause::Manual indicate a manual stop operation issued through dora stop or a ctrl-c. Nodes must exit once receiving such a stop event, otherwise they will be killed by Dora.

§

Reload

Instructs the node to reload itself or one of its operators.

This event is currently only used for reloading Python operators that are started by a dora runtime process. So this event should not be sent to normal nodes yet.

Fields

§operator_id: Option<OperatorId>

The ID of the operator that should be reloaded.

There is currently no case where operator_id is None.

§

Error(String)

Notifies the node about an unexpected error that happened inside Dora.

It’s a good idea to output or log this error for debugging.

Trait Implementations§

Source§

impl Debug for Event

Source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl Freeze for Event

§

impl !RefUnwindSafe for Event

§

impl Send for Event

§

impl Sync for Event

§

impl Unpin for Event

§

impl !UnwindSafe for Event

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

Source§

fn with_context(self, otel_cx: Context) -> WithContext<Self>

Attaches the provided Context to this type, returning a WithContext wrapper. Read more
Source§

fn with_current_context(self) -> WithContext<Self>

Attaches the current Context to this type, returning a WithContext wrapper. Read more
Source§

impl<T> FutureExt for T

Source§

fn with_context(self, otel_cx: Context) -> WithContext<Self>

Attaches the provided Context to this type, returning a WithContext wrapper. Read more
Source§

fn with_current_context(self) -> WithContext<Self>

Attaches the current Context to this type, returning a WithContext wrapper. Read more
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> IntoRequest<T> for T

Source§

fn into_request(self) -> Request<T>

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

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

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. 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,