Skip to main content

Tcb

Struct Tcb 

Source
pub struct Tcb {
    pub id: TaskId,
    pub parent: Option<TaskId>,
    pub state: TaskLifecycle,
    pub budget: BudgetLedger,
    pub wait: Option<WaitReason>,
    pub caps: Vec<CompactString>,
    pub proc: Option<ProcInfo>,
}
Expand description

One schedulable entity. The root loop and every sub-agent are uniform Tcbs.

Fields§

§id: TaskId§parent: Option<TaskId>§state: TaskLifecycle§budget: BudgetLedger§wait: Option<WaitReason>§caps: Vec<CompactString>

Capability ids permitted to this task (mirrors AgentProcess.permitted_capability_ids).

§proc: Option<ProcInfo>

Sub-agent identity for child tasks; None for the root loop.

Implementations§

Source§

impl Tcb

Source

pub fn root(id: impl Into<TaskId>, budget: SchedulerBudget) -> Self

The root loop task. Constructed from the runtime task at Start.

Source

pub fn spawned(manifest: &IsolationManifest, budget: SchedulerBudget) -> Self

A sub-agent task spawned under the root, seeded Running, carrying the manifest’s process identity. The single source of truth for what the AgentProcess view exposes.

Trait Implementations§

Source§

impl Clone for Tcb

Source§

fn clone(&self) -> Tcb

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 Tcb

Source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl Freeze for Tcb

§

impl RefUnwindSafe for Tcb

§

impl Send for Tcb

§

impl Sync for Tcb

§

impl Unpin for Tcb

§

impl UnsafeUnpin for Tcb

§

impl UnwindSafe for Tcb

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, 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 = 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.