Struct doors::server::Door

source ·
pub struct Door(_);
Expand description

A Descriptor for the Door Server

When a door is created, the kernel hands us back a reference to it by giving us an index in our descriptor table. This is true even if the door hasn’t been attached to the filesystem yet, a la pipes or sockets.

Implementations§

source§

impl Door

source

pub fn create(sp: ServerProcedure) -> Result<Self, Error>

Create a new Door with the specified server procedure. This will not expose the door to the filesystem by default. It will assume that you are not using a door cookie, and that you do not need to set any DoorAttributes.

Create a new Door with a Cookie. This will not expose the door to the filesystem by default. It will use the door cookie that you provide, but will assume that you do not need to set any DoorAttributes.

source

pub fn create_with_attributes( sp: ServerProcedure, attrs: DoorAttributes ) -> Result<Self, Error>

Create a new Door with Attributes. This will not expose the door to the filesystem by default. It will use the DoorAttributes that you provide, but will assume that you are not using a door cookie.

Create a new Door with Cookie and Attributes. This will not expose the door to the filesystem by default. It will use the DoorAttributes and cookie that you provide.

source

pub fn install<P: AsRef<Path>>(&self, path: P) -> Result<(), Error>

Make this door server available on the filesystem. This is necessary if we want other processes to be able to find and call this door server.

source

pub fn force_install<P: AsRef<Path>>(&self, path: P) -> Result<(), Error>

Make this door available on the filesystem even if there is already a file (possibly leftover from a previous door) as this path.

Trait Implementations§

source§

impl Drop for Door

source§

fn drop(&mut self)

Executes the destructor for this type. Read more

Auto Trait Implementations§

§

impl RefUnwindSafe for Door

§

impl Send for Door

§

impl Sync for Door

§

impl Unpin for Door

§

impl UnwindSafe for Door

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere 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, U> Into<U> for Twhere 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, U> TryFrom<U> for Twhere U: Into<T>,

§

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 Twhere U: TryFrom<T>,

§

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.