pub struct HostConfigProvider { /* private fields */ }Expand description
ConfigProvider backed by the operator’s [HostConfig::agents] map.
Agents are operator-global for the MVP: lookup is keyed purely by
agent_id; the tenant/env arguments are accepted (to satisfy the
trait contract) but not used for keying. This avoids a tenant/env
key-matching footgun against the dispatch path, which derives those
values independently. A future per-tenant config source can replace
this implementation without touching callers.
Implementations§
Source§impl HostConfigProvider
impl HostConfigProvider
Sourcepub fn new(agents: HashMap<String, AgentConfig>) -> HostConfigProvider
pub fn new(agents: HashMap<String, AgentConfig>) -> HostConfigProvider
Wrap the operator-declared agents map in a ConfigProvider.
Trait Implementations§
Source§impl ConfigProvider for HostConfigProvider
impl ConfigProvider for HostConfigProvider
fn agent_config<'a>( &'a self, _tenant: &'a TenantContext, agent_id: &'a str, ) -> Pin<Box<dyn Future<Output = Result<AgentConfig, ConfigError>> + Send + 'a>>
Auto Trait Implementations§
impl Freeze for HostConfigProvider
impl RefUnwindSafe for HostConfigProvider
impl Send for HostConfigProvider
impl Sync for HostConfigProvider
impl Unpin for HostConfigProvider
impl UnsafeUnpin for HostConfigProvider
impl UnwindSafe for HostConfigProvider
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
Source§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request