#[non_exhaustive]pub enum DaemonRequest {
Show 13 variants
Register(NodeRegisterRequest),
Subscribe,
SendMessage {
output_id: DataId,
metadata: Metadata,
data: Option<DataMessage>,
},
OutputSent {
output_id: DataId,
metadata: Metadata,
},
CloseOutputs(Vec<DataId>),
OutputsDone,
NextEvent,
EventStreamDropped,
NodeConfig {
node_id: NodeId,
},
ExtensionStore {
namespace: String,
key: String,
value: Vec<u8>,
},
ExtensionLoad {
namespace: String,
key: String,
remove: bool,
},
ExtensionDrop {
namespace: String,
key: String,
},
ExtensionRequest {
namespace: String,
payload: Vec<u8>,
},
}Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Register(NodeRegisterRequest)
Subscribe
SendMessage
OutputSent
CloseOutputs(Vec<DataId>)
OutputsDone
Signals that the node is finished sending outputs.
NextEvent
EventStreamDropped
NodeConfig
ExtensionStore
Store an opaque value in the daemon’s dataflow-scoped extension table.
dora attaches no meaning to namespace, key or value: this is the
out-of-band channel for transports that live outside the tree (see
docs/extensions.md). The daemon tracks who stored a key and who has
read it, so it can notify readers on removal and reclaim the entry when
the dataflow ends.
ExtensionLoad
Read an opaque value back. remove: true drops it in the same round
trip, so a consume-once handoff needs one request rather than two.
ExtensionDrop
Drop an opaque value. Every node that stored or loaded the key is sent
[NodeEvent::ExtensionDropped] so it can release whatever the value
referred to.
ExtensionRequest
An opaque request from a node to the extension registered under
namespace on its daemon. dora never interprets either field.
Complements the extension table (ExtensionStore/ExtensionLoad/
ExtensionDrop), which brokers descriptor lifetime. This one
carries a call the extension’s daemon half must service — the
tensor-pool uses it for cross-machine registration and pool writes.
Implementations§
Source§impl DaemonRequest
impl DaemonRequest
Sourcepub fn encode_size_hint(&self) -> usize
pub fn encode_size_hint(&self) -> usize
Bulk bytes this request will contribute to its encoding, for
crate::encode_presized.
Matched exhaustively on purpose: a new payload-carrying variant that
forgets to report its size would silently fall back to growing the
buffer from empty, which is the cost encode_presized exists to avoid
and which no test would catch.
pub fn expects_tcp_binary_reply(&self) -> bool
pub fn expects_tcp_json_reply(&self) -> bool
Trait Implementations§
Source§impl Clone for DaemonRequest
impl Clone for DaemonRequest
Source§fn clone(&self) -> DaemonRequest
fn clone(&self) -> DaemonRequest
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more