Skip to main content

LeanWorkerCapability

Struct LeanWorkerCapability 

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

A worker-backed capability with its Lake target built and worker started.

The value owns the worker supervisor and the session configuration. It is the normal entry point for downstream capability use until the typed command facade lands on top of it.

Implementations§

Source§

impl LeanWorkerCapability

Source

pub fn open_session( &mut self, cancellation: Option<&LeanWorkerCancellationToken>, progress: Option<&dyn LeanWorkerProgressSink>, ) -> Result<LeanWorkerSession<'_>, LeanWorkerError>

Open a worker session for this capability.

The builder has already proved that the session can open. This method is still fallible because worker cycling, cancellation, or a child failure may require a fresh session.

§Errors

Returns LeanWorkerError if the worker is dead, the child cannot open the configured imports, cancellation is already requested, a progress sink panics, or protocol communication fails.

Source

pub fn open_session_with_imports( &mut self, imports: impl IntoIterator<Item = impl Into<String>>, cancellation: Option<&LeanWorkerCancellationToken>, progress: Option<&dyn LeanWorkerProgressSink>, ) -> Result<LeanWorkerSession<'_>, LeanWorkerError>

Open a worker session with a caller-supplied import set, overriding the imports the builder was constructed with. The capability’s project_root / package / lib_name are unchanged.

Lifecycle is identical to open_session: the returned session borrows from &mut self and dies when dropped.

§Errors

Same as open_session.

Source

pub fn dylib_path(&self) -> &Path

Return the built capability dylib path resolved by lean-toolchain.

Source

pub fn session_config(&self) -> &LeanWorkerSessionConfig

Return the session configuration used by this capability.

Source

pub fn validated_metadata(&self) -> Option<&LeanWorkerCapabilityMetadata>

Return capability metadata validated by the builder, if requested.

Source

pub fn runtime_metadata(&self) -> LeanWorkerRuntimeMetadata

Return protocol/runtime facts captured from the worker handshake.

Source

pub fn stats(&self) -> LeanWorkerStats

Return a snapshot of worker lifecycle counters.

Source

pub fn lifecycle_snapshot(&self) -> LeanWorkerLifecycleSnapshot

Return policy-facing lifecycle facts for this worker.

Source

pub fn status(&mut self) -> Result<LeanWorkerStatus, LeanWorkerError>

Return the current worker lifecycle status.

§Errors

Returns LeanWorkerError if checking the process status fails.

Source

pub fn rss_kib(&mut self) -> Option<u64>

Measure the current child RSS in KiB when supported by the platform.

Source

pub fn cycle(&mut self) -> Result<(), LeanWorkerError>

Explicitly cycle the worker process.

§Errors

Returns LeanWorkerError if the worker cannot be replaced.

Source

pub fn set_request_timeout(&mut self, timeout: Duration)

Set the request timeout for subsequent commands.

Source

pub fn terminate(self) -> Result<LeanWorkerExit, LeanWorkerError>

👎Deprecated:

use LeanWorkerCapability::shutdown for structured shutdown status

Terminate the worker child and return its exit status.

§Errors

Returns LeanWorkerError if the worker is already dead, the terminate request fails, or waiting for the child fails.

Source

pub fn shutdown(self) -> Result<LeanWorkerShutdownReport, LeanWorkerError>

Shut down the worker child and return structured shutdown status.

§Errors

Returns LeanWorkerError if shutdown escalation or wait/reap fails.

Trait Implementations§

Source§

impl Debug for LeanWorkerCapability

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> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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> Same for T

Source§

type Output = T

Should always be Self
Source§

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

Source§

type Error = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

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.