[][src]Enum sunrise_kernel::paging::process_memory::DynamicHierarchy

enum DynamicHierarchy<'a> {
    Active(ActiveHierarchy),
    Inactive(&'a mut InactiveHierarchy),
}

Page tables selector.

A process always stores its table_hierarchy as an inactive hierarchy. When it wants to modify its page tables, it will first call get_hierarchy, which will detect if the hierarchy is already the currently active one, and return a DynamicHierarchy.

This returned DynamicHierarchy is just a wrapper which will dispatch all its calls to the right hierarchy, either the already active one, shortcutting the method calls by not having to map temporary directories and page tables, or going the long way and actually use the inactive one.

Variants

Active(ActiveHierarchy)

The process's hierarchy is already the currently active one.

Inactive(&'a mut InactiveHierarchy)

The process's hierarchy an inactive one.

Trait Implementations

impl<'b> TableHierarchy for DynamicHierarchy<'b>[src]

type TopLevelTableType = ()

The type of the top level table.

Auto Trait Implementations

impl<'a> RefUnwindSafe for DynamicHierarchy<'a>

impl<'a> Send for DynamicHierarchy<'a>

impl<'a> Sync for DynamicHierarchy<'a>

impl<'a> Unpin for DynamicHierarchy<'a>

impl<'a> !UnwindSafe for DynamicHierarchy<'a>

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.