pub struct ExecutorServiceImpl {
atlas: AtlasClient,
provider_id: String,
}Expand description
AtlasClient is cheap to clone — each Execute RPC clones it so per-plan
dispatch runs without serialising on a single mutex.
Fields§
§atlas: AtlasClient§provider_id: StringExecutor’s own provider_id. Two roles:
- consumer_id passed to atlas on every ConnectCapability so the channel record reflects who is using each downstream provider.
- self-detection: when a CapabilityCall in the plan targets this provider_id, dispatch short-circuits to the in-process builtin handlers instead of going through MCP loopback.
Implementations§
Source§impl ExecutorServiceImpl
impl ExecutorServiceImpl
pub fn new(atlas: AtlasClient, provider_id: String) -> Self
Trait Implementations§
Source§impl Clone for ExecutorServiceImpl
impl Clone for ExecutorServiceImpl
Source§fn clone(&self) -> ExecutorServiceImpl
fn clone(&self) -> ExecutorServiceImpl
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl RobonixSystemExecutor for ExecutorServiceImpl
impl RobonixSystemExecutor for ExecutorServiceImpl
Source§type ExecuteStream = ReceiverStream<Result<CapabilityCallEvent, Status>>
type ExecuteStream = ReceiverStream<Result<CapabilityCallEvent, Status>>
Server streaming response type for the Execute method.
fn execute<'life0, 'async_trait>(
&'life0 self,
request: Request<Plan>,
) -> Pin<Box<dyn Future<Output = Result<Response<Self::ExecuteStream>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Auto Trait Implementations§
impl !Freeze for ExecutorServiceImpl
impl !RefUnwindSafe for ExecutorServiceImpl
impl Send for ExecutorServiceImpl
impl Sync for ExecutorServiceImpl
impl Unpin for ExecutorServiceImpl
impl UnsafeUnpin for ExecutorServiceImpl
impl !UnwindSafe for ExecutorServiceImpl
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Applies the layer to a service and wraps it in [
Layered].