Struct Descriptor

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

A descriptor is used to connect to a service.

Implementations§

Source§

impl Descriptor

Source

pub fn new( ctx: &Context, rendezvous: PathBuf, executable: PathBuf, factory: HandlerFactory, ) -> Self

Create a descriptor given its rendez-vous point, the path to the servers executable file, and a handler factory.

Source

pub fn context(&self) -> &Context

Returns the context.

Source

pub fn rendez_vous(&self) -> &Path

Returns the rendez-vous point.

Source

pub fn connect(&self) -> Result<RpcSystem<Side>>

Connects to a descriptor, starting the server if necessary.

§Panic

This will panic if called outside of the Tokio runtime context. See See Handle::enter for more details.

Source

pub fn connect_with_policy(&self, policy: IPCPolicy) -> Result<RpcSystem<Side>>

Connects to a descriptor, starting the server if necessary.

This function does not use the context’s IPC policy, but uses the given one.

§Panic

This will panic if called outside of the Tokio runtime context. See See Handle::enter for more details.

Source

pub fn bootstrap(&mut self) -> Result<Option<JoinHandle<Result<()>>>>

Turn this process into a server.

This checks if a server is running. If not, it turns the current process into a server.

This function is for servers trying to start themselves. Normally, servers are started by clients on demand. A client should never call this function.

Trait Implementations§

Source§

impl Clone for Descriptor

Source§

fn clone(&self) -> Descriptor

Returns a duplicate of the value. Read more
1.0.0 · Source§

const fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Descriptor

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DynClone for T
where T: Clone,

Source§

fn __clone_box(&self, _: Private) -> *mut ()

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

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