pub struct MultiplexEngine { /* private fields */ }Expand description
Engine that dispatches prompts to multiple embacle runners concurrently
Implementations§
Source§impl MultiplexEngine
impl MultiplexEngine
Sourcepub fn new(state: &SharedState) -> Self
pub fn new(state: &SharedState) -> Self
Create a new multiplex engine backed by the shared server state
Sourcepub async fn execute(
&self,
messages: &[ChatMessage],
providers: &[CliRunnerType],
params: &MultiplexParams,
) -> Result<MultiplexResult, RunnerError>
pub async fn execute( &self, messages: &[ChatMessage], providers: &[CliRunnerType], params: &MultiplexParams, ) -> Result<MultiplexResult, RunnerError>
Execute a prompt against all specified providers concurrently
Each provider runs in its own tokio task. Failures in one provider do not affect others — all results are collected and returned.
Auto Trait Implementations§
impl Freeze for MultiplexEngine
impl !RefUnwindSafe for MultiplexEngine
impl Send for MultiplexEngine
impl Sync for MultiplexEngine
impl Unpin for MultiplexEngine
impl UnsafeUnpin for MultiplexEngine
impl !UnwindSafe for MultiplexEngine
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
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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>
Converts
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>
Converts
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