pub trait ComponentContext: Send + Sync {
// Required methods
fn resolve_component(&self, scheme: &str) -> Option<Arc<dyn Component>>;
fn resolve_language(&self, name: &str) -> Option<Arc<dyn Language>>;
fn metrics(&self) -> Arc<dyn MetricsCollector>;
fn platform_service(&self) -> Arc<dyn PlatformService>;
fn register_route_health_check(
&self,
route_id: &str,
check: Arc<dyn AsyncHealthCheck>,
);
fn unregister_route_health_check(&self, route_id: &str);
// Provided methods
fn route_id(&self) -> Option<&str> { ... }
fn register_current_route_health_check(
&self,
check: Arc<dyn AsyncHealthCheck>,
) { ... }
}Expand description
Runtime context passed to components during endpoint creation.
Required Methods§
Sourcefn resolve_component(&self, scheme: &str) -> Option<Arc<dyn Component>>
fn resolve_component(&self, scheme: &str) -> Option<Arc<dyn Component>>
Resolve a component by scheme.
Sourcefn resolve_language(&self, name: &str) -> Option<Arc<dyn Language>>
fn resolve_language(&self, name: &str) -> Option<Arc<dyn Language>>
Resolve a language by name.
Sourcefn metrics(&self) -> Arc<dyn MetricsCollector>
fn metrics(&self) -> Arc<dyn MetricsCollector>
Access the active metrics collector.
Sourcefn platform_service(&self) -> Arc<dyn PlatformService>
fn platform_service(&self) -> Arc<dyn PlatformService>
Access the active platform service.
fn register_route_health_check( &self, route_id: &str, check: Arc<dyn AsyncHealthCheck>, )
fn unregister_route_health_check(&self, route_id: &str)
Provided Methods§
fn route_id(&self) -> Option<&str>
fn register_current_route_health_check(&self, check: Arc<dyn AsyncHealthCheck>)
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".