pub struct Pull<N> { /* private fields */ }Expand description
A wrapper around a Node that enables pull evaluation across all inputs.
The implementation of Node will match the inner node type N, but with a
unique implementation of Node::pull_eval.
Implementations§
Trait Implementations§
Source§impl<'de, N> Deserialize<'de> for Pull<N>where
N: Deserialize<'de>,
impl<'de, N> Deserialize<'de> for Pull<N>where
N: Deserialize<'de>,
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>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl<N: Node> Node for Pull<N>
impl<N: Node> Node for Pull<N>
Source§fn branches(&self, ctx: MetaCtx<'_>) -> Vec<EvalConf>
fn branches(&self, ctx: MetaCtx<'_>) -> Vec<EvalConf>
The list of possible branches from this node. Read more
Source§fn expr(&self, ctx: ExprCtx<'_, '_>) -> ExprResult
fn expr(&self, ctx: ExprCtx<'_, '_>) -> ExprResult
The expression that, given the expressions of connected inputs,
produces the output(s). Read more
Source§fn push_eval(&self, ctx: MetaCtx<'_>) -> Vec<EvalConf>
fn push_eval(&self, ctx: MetaCtx<'_>) -> Vec<EvalConf>
Specifies whether or not code should be generated to allow for push
evaluation from instances of this node. Enabling push evaluation allows
applications to call into the graph by calling the resulting generated
code at runtime. Read more
Source§fn pull_eval(&self, _ctx: MetaCtx<'_>) -> Vec<EvalConf>
fn pull_eval(&self, _ctx: MetaCtx<'_>) -> Vec<EvalConf>
Specifies whether or not code should be generated to allow for pull
evaluation from instances of this node. Enabling pull evaluation allows
applications to call into the graph by loading the resulting generated
code at runtime. Read more
Source§fn inlet(&self, ctx: MetaCtx<'_>) -> bool
fn inlet(&self, ctx: MetaCtx<'_>) -> bool
Whether or not this node acts as an inlet for some nested graph.
Source§fn outlet(&self, ctx: MetaCtx<'_>) -> bool
fn outlet(&self, ctx: MetaCtx<'_>) -> bool
Whether or not this node acts as an outlet for some nested graph.
Source§fn stateful(&self, ctx: MetaCtx<'_>) -> bool
fn stateful(&self, ctx: MetaCtx<'_>) -> bool
Whether or not the node requires access to state. Read more
Source§fn register(&self, ctx: RegCtx<'_, '_>)
fn register(&self, ctx: RegCtx<'_, '_>)
Function for registering necessary types, functions and initialising any
default values as necessary. Read more
Source§fn required_addrs(&self) -> Vec<ContentAddr>
fn required_addrs(&self) -> Vec<ContentAddr>
Returns the content addresses of external nodes this node requires. Read more
Auto Trait Implementations§
impl<N> Freeze for Pull<N>where
N: Freeze,
impl<N> RefUnwindSafe for Pull<N>where
N: RefUnwindSafe,
impl<N> Send for Pull<N>where
N: Send,
impl<N> Sync for Pull<N>where
N: Sync,
impl<N> Unpin for Pull<N>where
N: Unpin,
impl<N> UnsafeUnpin for Pull<N>where
N: UnsafeUnpin,
impl<N> UnwindSafe for Pull<N>where
N: UnwindSafe,
Blanket Implementations§
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
Mutably borrows from an owned value. Read more
impl<T> CloneAny for T
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>,
impl<T> ErasedDestructor for Twhere
T: 'static,
impl<T> MaybeSendSyncStatic for Twhere
T: 'static,
impl<T> SendSyncStatic for T
Source§impl<N> WithPullEval for Nwhere
N: Node,
impl<N> WithPullEval for Nwhere
N: Node,
Source§fn with_pull_eval_conf(self, conf: EvalConf) -> Pull<N>
fn with_pull_eval_conf(self, conf: EvalConf) -> Pull<N>
Consume self and return an equivalent node with pull evaluation
enabled.
Source§fn with_pull_eval(self) -> Pull<Self>
fn with_pull_eval(self) -> Pull<Self>
Consume
self and return a Node that has pull evaluation enabled.Source§impl<N> WithPushEval for Nwhere
N: Node,
impl<N> WithPushEval for Nwhere
N: Node,
Source§fn with_push_eval_conf(self, conf: EvalConf) -> Push<N>
fn with_push_eval_conf(self, conf: EvalConf) -> Push<N>
Consume
self and return a Node that has push evaluation enabled.Source§fn with_push_eval(self) -> Push<Self>
fn with_push_eval(self) -> Push<Self>
Consume
self and return a Node that has push evaluation enabled.Source§impl<N> WithStateType for Nwhere
N: Node,
impl<N> WithStateType for Nwhere
N: Node,
Source§fn with_state_type<S>(self) -> State<N, S>where
S: NodeState,
fn with_state_type<S>(self) -> State<N, S>where
S: NodeState,
Consume
self and return a Node that has state of type state_type.