#[non_exhaustive]pub enum InterDaemonEvent {
Output {
dataflow_id: DataflowId,
node_id: NodeId,
output_id: DataId,
metadata: Metadata,
data: Option<AVec<u8, ConstAlign<128>>>,
},
OutputClosed {
dataflow_id: DataflowId,
node_id: NodeId,
output_id: DataId,
},
ExtensionMessage {
dataflow_id: DataflowId,
namespace: String,
target_machine: Option<String>,
payload: Vec<u8>,
},
}Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Output
OutputClosed
ExtensionMessage
An opaque message between the daemons of one dataflow, sent on
behalf of an out-of-tree extension. dora never interprets
namespace or payload — it moves the bytes and nothing else.
This is the inter-daemon half of the extension seam (the node-facing
halves are crate::node_to_daemon::DaemonRequest::ExtensionRequest
and the extension table). Naming the variants after any one
transport would freeze that transport’s architecture into the 1.0
protocol, which is exactly what docs/extensions.md exists to
avoid; a second extension needs no change here at all.
Fields
dataflow_id: DataflowIdnamespace: StringExtension that owns the payload. A daemon with no extension registered under this namespace drops the message.
Implementations§
Source§impl InterDaemonEvent
impl InterDaemonEvent
Sourcepub fn encode_size_hint(&self) -> usize
pub fn encode_size_hint(&self) -> usize
Bulk bytes this event will contribute to its encoding, for
crate::encode_presized.
Not to be confused with crate::metadata::debug_frame_wire_size, which
answers “how big was this on the wire” and deliberately prefers the
daemon-stamped WIRE_SIZE parameter over the buffer length (#2584). This
one must be the actual buffer length, since it sizes an allocation.
Trait Implementations§
Source§impl Clone for InterDaemonEvent
impl Clone for InterDaemonEvent
Source§impl Debug for InterDaemonEvent
impl Debug for InterDaemonEvent
Source§impl<'de> Deserialize<'de> for InterDaemonEvent
impl<'de> Deserialize<'de> for InterDaemonEvent
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Auto Trait Implementations§
impl Freeze for InterDaemonEvent
impl RefUnwindSafe for InterDaemonEvent
impl Send for InterDaemonEvent
impl Sync for InterDaemonEvent
impl Unpin for InterDaemonEvent
impl UnsafeUnpin for InterDaemonEvent
impl UnwindSafe for InterDaemonEvent
Blanket Implementations§
impl<T> Allocation for T
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
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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> ⓘ
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> ⓘ
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