pub struct DistributedRuntime { /* private fields */ }Expand description
Distributed Runtime which provides access to shared resources across the cluster, this includes communication protocols and transports.
Implementations§
Source§impl DistributedRuntime
impl DistributedRuntime
pub async fn new(runtime: Runtime, config: DistributedConfig) -> Result<Self>
pub async fn from_settings(runtime: Runtime) -> Result<Self>
pub fn runtime(&self) -> &Runtime
pub fn primary_token(&self) -> CancellationToken
pub fn component_registry(&self) -> &Registry
pub fn system_health(&self) -> Arc<Mutex<SystemHealth>> ⓘ
Sourcepub fn local_endpoint_registry(&self) -> &LocalEndpointRegistry
pub fn local_endpoint_registry(&self) -> &LocalEndpointRegistry
Get the local endpoint registry for in-process endpoint calls
Sourcepub fn engine_routes(&self) -> &EngineRouteRegistry
pub fn engine_routes(&self) -> &EngineRouteRegistry
Get the engine route registry for registering custom /engine/* routes
pub fn connection_id(&self) -> u64
pub fn shutdown(&self)
Sourcepub fn discovery(&self) -> Arc<dyn Discovery>
pub fn discovery(&self) -> Arc<dyn Discovery>
Returns the discovery interface for service registration and discovery
pub async fn tcp_server(&self) -> Result<Arc<TcpStreamServer>>
Sourcepub fn network_manager(&self) -> Arc<NetworkManager>
pub fn network_manager(&self) -> Arc<NetworkManager>
Get the network manager
The network manager consolidates all network configuration and provides unified access to request plane servers and clients.
Sourcepub async fn request_plane_server(&self) -> Result<Arc<dyn RequestPlaneServer>>
pub async fn request_plane_server(&self) -> Result<Arc<dyn RequestPlaneServer>>
Get the request plane server (convenience method)
This is a shortcut for network_manager().await?.server().await.
Sourcepub fn system_status_server_info(&self) -> Option<Arc<SystemStatusServerInfo>>
pub fn system_status_server_info(&self) -> Option<Arc<SystemStatusServerInfo>>
Get system status server information if available
Sourcepub fn store(&self) -> &Manager
pub fn store(&self) -> &Manager
An interface to store things outside of the process. Usually backed by something like etcd. Currently does key-value, but will grow to include whatever we need to store.
Sourcepub fn request_plane(&self) -> RequestPlaneMode
pub fn request_plane(&self) -> RequestPlaneMode
How the frontend should talk to the backend.
pub fn child_token(&self) -> CancellationToken
pub fn instance_sources( &self, ) -> Arc<Mutex<HashMap<Endpoint, Weak<Receiver<Vec<Instance>>>>>>
Sourcepub async fn kv_router_nats_publish(
&self,
subject: String,
payload: Bytes,
) -> Result<()>
pub async fn kv_router_nats_publish( &self, subject: String, payload: Bytes, ) -> Result<()>
TODO: This is a temporary KV router measure for component/component.rs EventPublisher impl for Component, to allow it to publish to NATS. KV Router is the only user.
When NATS is not available (e.g., running in approximate mode with –no-kv-events), this function returns Ok(()) silently since publishing is optional in that mode.
Sourcepub async fn kv_router_nats_request(
&self,
subject: String,
payload: Bytes,
timeout: Duration,
) -> Result<Message>
pub async fn kv_router_nats_request( &self, subject: String, payload: Bytes, timeout: Duration, ) -> Result<Message>
TODO (karenc): This is a temporary KV router measure for worker query requests. Allows KV Router to perform request/reply with workers. (versus the pub/sub pattern above) KV Router is the only user, made public for use in dynamo-llm crate
Sourcepub fn register_nats_service(
&self,
component: Component,
) -> Receiver<Result<(), String>>
pub fn register_nats_service( &self, component: Component, ) -> Receiver<Result<(), String>>
DEPRECATED: This method exists only for NATS request plane support. Once everything uses the TCP request plane, this can be removed along with the NATS service registration infrastructure.
Returns a receiver that signals when the NATS service registration is complete.
The caller should use blocking_recv() to wait for completion.
Trait Implementations§
Source§impl Clone for DistributedRuntime
impl Clone for DistributedRuntime
Source§fn clone(&self) -> DistributedRuntime
fn clone(&self) -> DistributedRuntime
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for DistributedRuntime
impl Debug for DistributedRuntime
Source§impl DistributedRuntimeProvider for DistributedRuntime
impl DistributedRuntimeProvider for DistributedRuntime
fn drt(&self) -> &DistributedRuntime
Source§impl MetricsHierarchy for DistributedRuntime
impl MetricsHierarchy for DistributedRuntime
Source§fn parent_hierarchies(&self) -> Vec<&dyn MetricsHierarchy>
fn parent_hierarchies(&self) -> Vec<&dyn MetricsHierarchy>
Source§fn get_metrics_registry(&self) -> &MetricsRegistry
fn get_metrics_registry(&self) -> &MetricsRegistry
Source§impl RuntimeProvider for DistributedRuntime
impl RuntimeProvider for DistributedRuntime
Auto Trait Implementations§
impl Freeze for DistributedRuntime
impl !RefUnwindSafe for DistributedRuntime
impl Send for DistributedRuntime
impl Sync for DistributedRuntime
impl Unpin for DistributedRuntime
impl !UnwindSafe for DistributedRuntime
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>
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>
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>
T in a tonic::RequestSource§impl<T> Paint for Twhere
T: ?Sized,
impl<T> Paint for Twhere
T: ?Sized,
Source§fn fg(&self, value: Color) -> Painted<&T>
fn fg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self with the foreground set to
value.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like red() and
green(), which have the same functionality but are
pithier.
§Example
Set foreground color to white using fg():
use yansi::{Paint, Color};
painted.fg(Color::White);Set foreground color to white using white().
use yansi::Paint;
painted.white();Source§fn bright_black(&self) -> Painted<&T>
fn bright_black(&self) -> Painted<&T>
Source§fn bright_red(&self) -> Painted<&T>
fn bright_red(&self) -> Painted<&T>
Source§fn bright_green(&self) -> Painted<&T>
fn bright_green(&self) -> Painted<&T>
Source§fn bright_yellow(&self) -> Painted<&T>
fn bright_yellow(&self) -> Painted<&T>
Source§fn bright_blue(&self) -> Painted<&T>
fn bright_blue(&self) -> Painted<&T>
Source§fn bright_magenta(&self) -> Painted<&T>
fn bright_magenta(&self) -> Painted<&T>
Source§fn bright_cyan(&self) -> Painted<&T>
fn bright_cyan(&self) -> Painted<&T>
Source§fn bright_white(&self) -> Painted<&T>
fn bright_white(&self) -> Painted<&T>
Source§fn bg(&self, value: Color) -> Painted<&T>
fn bg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self with the background set to
value.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like on_red() and
on_green(), which have the same functionality but
are pithier.
§Example
Set background color to red using fg():
use yansi::{Paint, Color};
painted.bg(Color::Red);Set background color to red using on_red().
use yansi::Paint;
painted.on_red();Source§fn on_primary(&self) -> Painted<&T>
fn on_primary(&self) -> Painted<&T>
Source§fn on_magenta(&self) -> Painted<&T>
fn on_magenta(&self) -> Painted<&T>
Source§fn on_bright_black(&self) -> Painted<&T>
fn on_bright_black(&self) -> Painted<&T>
Source§fn on_bright_red(&self) -> Painted<&T>
fn on_bright_red(&self) -> Painted<&T>
Source§fn on_bright_green(&self) -> Painted<&T>
fn on_bright_green(&self) -> Painted<&T>
Source§fn on_bright_yellow(&self) -> Painted<&T>
fn on_bright_yellow(&self) -> Painted<&T>
Source§fn on_bright_blue(&self) -> Painted<&T>
fn on_bright_blue(&self) -> Painted<&T>
Source§fn on_bright_magenta(&self) -> Painted<&T>
fn on_bright_magenta(&self) -> Painted<&T>
Source§fn on_bright_cyan(&self) -> Painted<&T>
fn on_bright_cyan(&self) -> Painted<&T>
Source§fn on_bright_white(&self) -> Painted<&T>
fn on_bright_white(&self) -> Painted<&T>
Source§fn attr(&self, value: Attribute) -> Painted<&T>
fn attr(&self, value: Attribute) -> Painted<&T>
Enables the styling Attribute value.
This method should be used rarely. Instead, prefer to use
attribute-specific builder methods like bold() and
underline(), which have the same functionality
but are pithier.
§Example
Make text bold using attr():
use yansi::{Paint, Attribute};
painted.attr(Attribute::Bold);Make text bold using using bold().
use yansi::Paint;
painted.bold();Source§fn rapid_blink(&self) -> Painted<&T>
fn rapid_blink(&self) -> Painted<&T>
Source§fn quirk(&self, value: Quirk) -> Painted<&T>
fn quirk(&self, value: Quirk) -> Painted<&T>
Enables the yansi Quirk value.
This method should be used rarely. Instead, prefer to use quirk-specific
builder methods like mask() and
wrap(), which have the same functionality but are
pithier.
§Example
Enable wrapping using .quirk():
use yansi::{Paint, Quirk};
painted.quirk(Quirk::Wrap);Enable wrapping using wrap().
use yansi::Paint;
painted.wrap();Source§fn clear(&self) -> Painted<&T>
👎Deprecated since 1.0.1: renamed to resetting() due to conflicts with Vec::clear().
The clear() method will be removed in a future release.
fn clear(&self) -> Painted<&T>
resetting() due to conflicts with Vec::clear().
The clear() method will be removed in a future release.Source§fn whenever(&self, value: Condition) -> Painted<&T>
fn whenever(&self, value: Condition) -> Painted<&T>
Conditionally enable styling based on whether the Condition value
applies. Replaces any previous condition.
See the crate level docs for more details.
§Example
Enable styling painted only when both stdout and stderr are TTYs:
use yansi::{Paint, Condition};
painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);