pub trait InstantiateProxiesAndAgent: Send {
// Required method
fn instantiate_proxies_and_agent(
self: Box<Self>,
req: InitializeRequest,
) -> BoxFuture<'static, Result<(InitializeRequest, Vec<DynConnectTo<Conductor>>, DynConnectTo<Client>), Error>>;
}Expand description
Trait for lazy proxy and agent instantiation (agent mode).
Used by conductors in agent mode (ConductorToClient) where there are
zero or more proxies followed by an agent component.
Required Methods§
Sourcefn instantiate_proxies_and_agent(
self: Box<Self>,
req: InitializeRequest,
) -> BoxFuture<'static, Result<(InitializeRequest, Vec<DynConnectTo<Conductor>>, DynConnectTo<Client>), Error>>
fn instantiate_proxies_and_agent( self: Box<Self>, req: InitializeRequest, ) -> BoxFuture<'static, Result<(InitializeRequest, Vec<DynConnectTo<Conductor>>, DynConnectTo<Client>), Error>>
Instantiate proxy and agent components based on the Initialize request.
Returns the (possibly modified) request, a vector of proxy components
(typed as DynConnectTo<Conductor>), and the agent component
(typed as DynConnectTo<Client>).
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".
Implementors§
impl InstantiateProxiesAndAgent for CommandLineComponents
impl InstantiateProxiesAndAgent for ProxiesAndAgent
impl<A: ConnectTo<Client> + 'static> InstantiateProxiesAndAgent for AgentOnly<A>
impl<F, Fut> InstantiateProxiesAndAgent for Fwhere
F: FnOnce(InitializeRequest) -> Fut + Send + 'static,
Fut: Future<Output = Result<(InitializeRequest, Vec<DynConnectTo<Conductor>>, DynConnectTo<Client>), Error>> + Send + 'static,
Dynamic implementation: closure receives the Initialize request and returns proxies + agent.