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.

Required Associated Types

The type to identify tasks.

Provided 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