#[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§fn clone(&self) -> InterDaemonEvent
fn clone(&self) -> InterDaemonEvent
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more