pub struct LoopEvalSite { /* private fields */ }Expand description
An eval site that repeatedly runs its pipeline steps – up to
max_iterations times – until the until predicate fires on a reply.
Implementations§
Source§impl LoopEvalSite
impl LoopEvalSite
Sourcepub fn new(
address: ServerAddress,
codecs: Vec<Symbol>,
steps: Vec<Connection>,
max_iterations: usize,
until: Value,
) -> Self
pub fn new( address: ServerAddress, codecs: Vec<Symbol>, steps: Vec<Connection>, max_iterations: usize, until: Value, ) -> Self
Creates a loop site answering at address over codecs, running steps
at most max_iterations times or until until fires.
Trait Implementations§
Source§impl Clone for LoopEvalSite
impl Clone for LoopEvalSite
Source§fn clone(&self) -> LoopEvalSite
fn clone(&self) -> LoopEvalSite
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl EvalSite for LoopEvalSite
impl EvalSite for LoopEvalSite
Source§fn address(&self) -> &ServerAddress
fn address(&self) -> &ServerAddress
Returns the address this site answers at.
Source§fn answer(&self, cx: &mut Cx, frame: ServerFrame) -> Result<ServerFrame>
fn answer(&self, cx: &mut Cx, frame: ServerFrame) -> Result<ServerFrame>
Answers
frame, returning the reply frame.Source§fn answer_with_timeout(
&self,
cx: &mut Cx,
frame: ServerFrame,
_timeout: Option<Duration>,
) -> Result<ServerFrame>
fn answer_with_timeout( &self, cx: &mut Cx, frame: ServerFrame, _timeout: Option<Duration>, ) -> Result<ServerFrame>
Answers
frame with an optional deadline. Defaults to EvalSite::answer.Source§fn close_connection(&self, _cx: &mut Cx) -> Result<()>
fn close_connection(&self, _cx: &mut Cx) -> Result<()>
Closes any connection backing the site. Defaults to a no-op.
Source§fn stream(
&self,
cx: &mut Cx,
frame: ServerFrame,
sink: &mut dyn StreamSink,
) -> Result<()>
fn stream( &self, cx: &mut Cx, frame: ServerFrame, sink: &mut dyn StreamSink, ) -> Result<()>
Streams the answer to
frame into sink. The default path answers once
and emits a single chunk followed by end.Source§fn as_eval_fabric(&self) -> Option<&dyn EvalFabric>
fn as_eval_fabric(&self) -> Option<&dyn EvalFabric>
Returns this site as an
EvalFabric when it backs one. Defaults to None.Source§impl Site for LoopEvalSite
impl Site for LoopEvalSite
Source§fn run_fragment(
&self,
cx: &mut Cx,
fragment: &PlacedFragment,
) -> Result<Vec<StreamEnvelope>>
fn run_fragment( &self, cx: &mut Cx, fragment: &PlacedFragment, ) -> Result<Vec<StreamEnvelope>>
Realizes
fragment: feeds its input edges, evaluates its node, and emits
a result envelope per output edge.Source§fn realize_fragment_node(
&self,
cx: &mut Cx,
fragment: &PlacedFragment,
) -> Result<EvalReply>
fn realize_fragment_node( &self, cx: &mut Cx, fragment: &PlacedFragment, ) -> Result<EvalReply>
Evaluates the fragment’s node and returns its reply, with no deadline.
Source§fn realize_fragment_node_with_timeout(
&self,
cx: &mut Cx,
fragment: &PlacedFragment,
timeout: Option<Duration>,
) -> Result<EvalReply>
fn realize_fragment_node_with_timeout( &self, cx: &mut Cx, fragment: &PlacedFragment, timeout: Option<Duration>, ) -> Result<EvalReply>
Evaluates the fragment’s node and returns its reply, honoring
timeout.Source§impl StreamEndpoint for LoopEvalSite
impl StreamEndpoint for LoopEvalSite
Source§fn endpoint_id(&self) -> Symbol
fn endpoint_id(&self) -> Symbol
Returns the endpoint’s stable identifier.
Source§fn endpoint_kind(&self) -> StreamEndpointKind
fn endpoint_kind(&self) -> StreamEndpointKind
Returns the role this endpoint plays.
Source§fn clock_domain(&self) -> ClockDomain
fn clock_domain(&self) -> ClockDomain
Returns the clock domain this endpoint runs in.
Source§fn latency_class(&self) -> LatencyClass
fn latency_class(&self) -> LatencyClass
Returns the latency class this endpoint targets.
Source§fn accept_input_edges(&self, edges: &[StreamEdge]) -> Result<(), Error>
fn accept_input_edges(&self, edges: &[StreamEdge]) -> Result<(), Error>
Validates that each input edge’s clock domain matches this endpoint. Read more
Source§fn output_envelopes(
&self,
fragment: &PlacedFragment,
) -> Result<Vec<StreamEnvelope>, Error>
fn output_envelopes( &self, fragment: &PlacedFragment, ) -> Result<Vec<StreamEnvelope>, Error>
Returns the envelopes this endpoint emits for
fragment. Read moreAuto Trait Implementations§
impl !RefUnwindSafe for LoopEvalSite
impl !UnwindSafe for LoopEvalSite
impl Freeze for LoopEvalSite
impl Send for LoopEvalSite
impl Sync for LoopEvalSite
impl Unpin for LoopEvalSite
impl UnsafeUnpin for LoopEvalSite
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