pub struct ProviderRuntimeHandle { /* private fields */ }Expand description
Non-cloneable receive side for one exact provider binding.
Implementations§
Source§impl ProviderRuntimeHandle
impl ProviderRuntimeHandle
pub fn provider_id(&self) -> &ToolProviderId
pub fn binding_id(&self) -> ProviderBindingId
Sourcepub fn effect_capacity(&self) -> usize
pub fn effect_capacity(&self) -> usize
Maximum number of provider work items and unconsumed observation outcomes admitted by this exact binding.
pub fn state(&self) -> ProviderRuntimeState
pub fn completion_handle(&self) -> ProviderCompletionHandle
pub fn cancellation_token(&self) -> ProviderCancellationToken
pub fn try_recv(&self) -> Result<ProviderWork, TryRecvError>
pub fn try_recv_observation_outcome( &self, ) -> Result<ProviderObservationOutcome, TryRecvError>
Sourcepub fn begin_quiesce(&self) -> Result<(), ProviderRuntimeError>
pub fn begin_quiesce(&self) -> Result<(), ProviderRuntimeError>
Hides this binding from new local client dispatch while preserving its receive and completion lanes for already admitted work.
A supervisor must retain every native owner until physical exit and
call ProviderRuntimeHandle::close only after teardown. Quiescing is
a local admission fence; canonical detach still flows through the
kernel.
Sourcepub fn close(&self) -> Result<u64, ProviderRuntimeError>
pub fn close(&self) -> Result<u64, ProviderRuntimeError>
Fences work immediately and non-blockingly requests canonical detach.
A full ingress leaves the detach retryable in Closing state.
pub fn try_complete( &self, invocation: &mut ProviderInvocation, observation: &CapabilityObservation, ) -> Result<u64, ProviderRuntimeError>
pub fn try_succeed( &self, invocation: &mut ProviderInvocation, result: &CapabilityResult, ) -> Result<u64, ProviderRuntimeError>
pub fn try_fail( &self, invocation: &mut ProviderInvocation, failure: &ToolFailure, ) -> Result<u64, ProviderRuntimeError>
Trait Implementations§
Source§impl Drop for ProviderRuntimeHandle
impl Drop for ProviderRuntimeHandle
Auto Trait Implementations§
impl !Sync for ProviderRuntimeHandle
impl Freeze for ProviderRuntimeHandle
impl RefUnwindSafe for ProviderRuntimeHandle
impl Send for ProviderRuntimeHandle
impl Unpin for ProviderRuntimeHandle
impl UnsafeUnpin for ProviderRuntimeHandle
impl UnwindSafe for ProviderRuntimeHandle
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
Mutably borrows from an owned value. Read more