Struct arret_runtime::task::Task[][src]

pub struct Task { /* fields omitted */ }

Isolated task of execution

All Arret and RFI code must run inside a task. It provides a dedicated garbage collected Heap as well as an isolation boundary against panics. A task is inherently single threaded; it’s not possible for one task to be executing on multiple threads at the same time.

Implementations

impl Task[src]

pub fn new() -> Task[src]

Creates a new empty task

pub fn heap(&self) -> &Heap[src]

Returns this task’s dedicated heap

pub fn heap_mut(&mut self) -> &mut Heap[src]

Returns a mutable reference to this task’s dedicated heap

pub fn panic(&mut self, message: String) -> Never[src]

Panics the current task

This destroys the current task and invokes any cleanup required.

Trait Implementations

impl AsHeap for Task[src]

impl Default for Task[src]

Auto Trait Implementations

impl !RefUnwindSafe for Task

impl !Send for Task

impl !Sync for Task

impl Unpin for Task

impl UnwindSafe for Task

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.