#[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§impl Debug for DaemonRequest
impl Debug for DaemonRequest
Source§impl<'de> Deserialize<'de> for DaemonRequest
impl<'de> Deserialize<'de> for DaemonRequest
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 DaemonRequest
impl RefUnwindSafe for DaemonRequest
impl Send for DaemonRequest
impl Sync for DaemonRequest
impl Unpin for DaemonRequest
impl UnsafeUnpin for DaemonRequest
impl UnwindSafe for DaemonRequest
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