logo
pub unsafe trait KernelBase: Debug + Copy + Sized + 'static {
    type RawDebugPrinter: Debug + Send + Sync;
    type RawTaskId: Id;

    const RAW_SUPPORTED_QUEUE_ORDERS: &'static [Option<QueueOrderKind>];
Show 20 methods fn raw_debug() -> Self::RawDebugPrinter;
fn raw_acquire_cpu_lock() -> Result<(), CpuLockError>;
unsafe fn raw_release_cpu_lock() -> Result<(), CpuLockError>;
fn raw_has_cpu_lock() -> bool;
unsafe fn raw_unboost_priority() -> Result<(), BoostPriorityError>;
fn raw_is_priority_boost_active() -> bool;
fn raw_is_task_context() -> bool;
fn raw_is_interrupt_context() -> bool;
fn raw_is_boot_complete() -> bool;
fn raw_set_time(time: Time) -> Result<(), TimeError>;
unsafe fn raw_exit_task() -> Result<!, ExitTaskError>;
fn raw_park() -> Result<(), ParkError>;
fn raw_park_timeout(timeout: Duration) -> Result<(), ParkTimeoutError>;
fn raw_sleep(duration: Duration) -> Result<(), SleepError>;
fn raw_task_current() -> Result<Self::RawTaskId, GetCurrentTaskError>;
unsafe fn raw_task_activate(
        this: Self::RawTaskId
    ) -> Result<(), ActivateTaskError>;
unsafe fn raw_task_interrupt(
        this: Self::RawTaskId
    ) -> Result<(), InterruptTaskError>;
unsafe fn raw_task_unpark_exact(
        this: Self::RawTaskId
    ) -> Result<(), UnparkExactError>;
unsafe fn raw_task_priority(
        this: Self::RawTaskId
    ) -> Result<usize, GetTaskPriorityError>;
unsafe fn raw_task_effective_priority(
        this: Self::RawTaskId
    ) -> Result<usize, GetTaskPriorityError>;
}
Expand description

Provides access to the minimal API exposed by a kernel.

Safety

See the Safety section of the module documentation.

Associated Types

The type to identify tasks.

Associated Constants

Used by QueueOrder::is_supported.

None elements don’t match any values of QueueOrder. This might be useful for conditionally enabling some of them.

The default value is an empty slice.

Required methods

Implements Kernel::debug.

Implements Kernel::release_cpu_lock.

Safety

See the Safety section of Kernel::release_cpu_lock’s documentation.

Return a flag indicating whether CPU Lock is currently active.

Implements Kernel::unboost_priority.

Safety

See the Safety section of Kernel::unboost_priority’s documentation.

Implements Kernel::set_time.

Implements Kernel::exit_task.

Safety

See the Safety section of Kernel::exit_task’s documentation.

Implements Kernel::park.

Implements Kernel::sleep.

Get the current task.

Implements Task::activate.

Safety

See the Safety section of the module documentation.

Implements Task::interrupt.

Safety

See the Safety section of the module documentation.

Implements Task::unpark_exact.

Safety

See the Safety section of the module documentation.

Implements Task::priority.

Safety

See the Safety section of the module documentation.

Implements Task::effective_priority.

Safety

See the Safety section of the module documentation.

Implementors