Struct TCTask

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

***** TCTask *****

A task, as publicly exposed by this library.

A task begins in “immutable” mode. It must be converted to “mutable” mode to make any changes, and doing so requires exclusive access to the replica until the task is freed or converted back to immutable mode.

An immutable task carries no reference to the replica that created it, and can be used until it is freed or converted to a TaskMut. A mutable task carries a reference to the replica and must be freed or made immutable before the replica is freed.

All tc_task_.. functions taking a task as an argument require that it not be NULL.

When a tc_task_.. function that returns a TCResult returns TC_RESULT_ERROR, then tc_task_error will return the error message.

§Safety

A task is an owned object, and must be freed with tc_task_free (or, if part of a list, with tc_task_list_free).

Any function taking a *TCTask requires:

  • the pointer must not be NUL;
  • the pointer must be one previously returned from a tc_… function;
  • the memory referenced by the pointer must never be modified by C code; and
  • except for tc_{task,task_list}_free, ownership of a *TCTask remains with the caller.

Once passed to tc_task_free, a *TCTask becomes invalid and must not be used again.

TCTasks are not threadsafe.

typedef struct TCTask TCTask;

Trait Implementations§

Source§

impl From<Task> for TCTask

Source§

fn from(task: Task) -> TCTask

Converts to this type from the input type.

Auto Trait Implementations§

§

impl Freeze for TCTask

§

impl !RefUnwindSafe for TCTask

§

impl !Send for TCTask

§

impl !Sync for TCTask

§

impl Unpin for TCTask

§

impl !UnwindSafe for TCTask

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

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
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.
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
Source§

impl<T> ErasedDestructor for T
where T: 'static,