Skip to main content

ChildServiceContext

Struct ChildServiceContext 

Source
pub struct ChildServiceContext { /* private fields */ }
Expand description

A sealed, cloneable descendant of a RootServiceContext.

Libraries receive this type or a capability derived from it. They cannot construct it from a Tokio handle, create a root task group, or promote it back to a root.

Implementations§

Source§

impl ChildServiceContext

Source

pub fn name(&self) -> &str

Returns the name.

Source

pub fn task_spawner(&self) -> TaskSpawner

Returns the task spawner.

Source

pub fn task_group(&self) -> &TaskGroup

Returns the task group.

Source

pub fn blocking(&self, lane: BlockingLane) -> &BlockingExecutor

Returns the blocking.

Source

pub fn storage_io(&self) -> &BlockingExecutor

Returns the storage io.

Source

pub fn metadata_io(&self) -> &BlockingExecutor

Returns the metadata io.

Source

pub fn cpu_crypto(&self) -> &BlockingExecutor

Returns the cpu crypto.

Source

pub fn diagnostics(&self) -> &RuntimeDiagnostics

Returns the diagnostics.

Source

pub fn process_budget(&self) -> ResourceBudget

Returns the shared process resource-budget root.

Source

pub fn resources(&self) -> &RuntimeResources

Returns the process-wide runtime resource capabilities.

Source

pub fn diagnostics_snapshot(&self) -> RuntimeDiagnosticsSnapshot

Returns the diagnostics snapshot.

Source

pub fn diagnostics_view_v1( &self, component: RuntimeComponent, ) -> RuntimeDiagnosticsViewV1

Returns a bounded, sanitized diagnostics view for this service subtree.

Source

pub fn diagnostics_view_v2( &self, component: RuntimeComponent, inputs: RuntimeDiagnosticsInputs, ) -> RuntimeDiagnosticsViewV2

Returns a bounded, explicitly scoped diagnostics view for this subtree.

The runtime context does not own scheduled groups or a metadata actor, so the caller supplies the snapshots it holds; a section without an input is reported as absent rather than as an empty value.

Source

pub fn diagnostics_view_v2_with_options( &self, component: RuntimeComponent, inputs: RuntimeDiagnosticsInputs, options: RuntimeDiagnosticsViewOptionsV2, ) -> RuntimeDiagnosticsViewV2

Returns a bounded, explicitly scoped diagnostics view with explicit budget limits, including the scan and output budgets of an on-demand task detail list.

Source

pub fn component(&self, scope: impl Into<ScopeId>) -> Self

Creates a long-lived component context owned by this service.

Dynamically supplied names must be validated with ScopeId::try_new before they reach this boundary. Static literals may use the constrained From<&'static str> conversion.

Source

pub fn try_component(&self, scope: impl Into<ScopeId>) -> RuntimeResult<Self>

Creates an independently cancellable child component owned by this service.

Parent cancellation propagates to the returned component. Cancelling the child does not cancel this service or sibling components.

§Errors

Returns an unavailable runtime failure after this service starts shutting down or becomes poisoned. Dynamically supplied names must be validated with ScopeId::try_new before this call.

Source

pub fn scheduled_tasks(&self, scope: impl Into<ScopeId>) -> ScheduledTaskGroup

Returns the scheduled tasks.

Source

pub fn spawn<F>( &self, name: impl Into<TaskName>, kind: TaskKind, future: F, ) -> RuntimeResult<TaskId>
where F: Future<Output = ()> + Send + 'static,

Spawns the supplied task.

Source

pub fn spawn_service<F>( &self, name: impl Into<TaskName>, future: F, ) -> RuntimeResult<TaskId>
where F: Future<Output = ()> + Send + 'static,

Spawns a service that owns its shutdown protocol.

Use Self::spawn_cancellable_service when owner cancellation may safely drop the service future immediately.

Source

pub fn spawn_cancellable_service<F>( &self, name: impl Into<TaskName>, future: F, ) -> RuntimeResult<TaskId>
where F: Future<Output = ()> + Send + 'static,

Spawns a service that exits when either its future completes or this context is cancelled.

§Errors

Returns an error when this service context is shutting down or closed.

Source

pub fn spawn_critical<F>( &self, name: impl Into<TaskName>, kind: TaskKind, failures: CriticalFailureState, future: F, ) -> RuntimeResult<TaskId>
where F: Future<Output = ()> + Send + 'static,

Spawns work whose panic is recorded as a critical failure.

§Errors

Returns an error when this service context is shutting down or closed.

Source

pub fn spawn_critical_service<F>( &self, name: impl Into<TaskName>, failures: CriticalFailureState, future: F, ) -> RuntimeResult<TaskId>
where F: Future<Output = ()> + Send + 'static,

Spawns a critical service that must run until this context is cancelled.

§Errors

Returns an error when this service context is shutting down or closed.

Trait Implementations§

Source§

impl Clone for ChildServiceContext

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ChildServiceContext

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more