pub struct RunnableWithFallbacks { /* private fields */ }Expand description
A runnable that tries a primary and falls back to alternatives on failure.
Tries the primary runnable first. If it returns an error, each fallback is tried in order until one succeeds. If all fail, the last error is returned.
Implementations§
Source§impl RunnableWithFallbacks
impl RunnableWithFallbacks
Sourcepub fn new(
primary: Box<dyn RunnableCore>,
fallbacks: Vec<Box<dyn RunnableCore>>,
) -> Self
pub fn new( primary: Box<dyn RunnableCore>, fallbacks: Vec<Box<dyn RunnableCore>>, ) -> Self
Create a new fallback composition.
Trait Implementations§
Source§impl RunnableCore for RunnableWithFallbacks
impl RunnableCore for RunnableWithFallbacks
Source§fn invoke<'a>(
&'a self,
input: Value,
config: Option<&'a RunnableConfig>,
) -> BoxFuture<'a, Result<Value, SynwireError>>
fn invoke<'a>( &'a self, input: Value, config: Option<&'a RunnableConfig>, ) -> BoxFuture<'a, Result<Value, SynwireError>>
Invoke the runnable with a single input.
Source§fn batch<'a>(
&'a self,
inputs: Vec<Value>,
config: Option<&'a RunnableConfig>,
) -> BoxFuture<'a, Result<Vec<Value>, SynwireError>>
fn batch<'a>( &'a self, inputs: Vec<Value>, config: Option<&'a RunnableConfig>, ) -> BoxFuture<'a, Result<Vec<Value>, SynwireError>>
Invoke on multiple inputs. Default implementation calls
invoke sequentially for each input.Source§fn stream<'a>(
&'a self,
input: Value,
config: Option<&'a RunnableConfig>,
) -> BoxFuture<'a, Result<BoxStream<'a, Result<Value, SynwireError>>, SynwireError>>
fn stream<'a>( &'a self, input: Value, config: Option<&'a RunnableConfig>, ) -> BoxFuture<'a, Result<BoxStream<'a, Result<Value, SynwireError>>, SynwireError>>
Stream results. Default implementation wraps
invoke
as a single-item stream.Auto Trait Implementations§
impl Freeze for RunnableWithFallbacks
impl !RefUnwindSafe for RunnableWithFallbacks
impl Send for RunnableWithFallbacks
impl Sync for RunnableWithFallbacks
impl Unpin for RunnableWithFallbacks
impl UnsafeUnpin for RunnableWithFallbacks
impl !UnwindSafe for RunnableWithFallbacks
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