Struct Config

Source
pub struct Config {
    pub name: String,
    pub call_slots: usize,
    pub call_timeout: Option<Duration>,
    pub maximum_services_num: usize,
    pub thread_pool: Arc<Mutex<ThreadPool>>,
}
Expand description

A configuration of a remote-trait-object context.

Fields§

§name: String

A name that will be appended to the names of various threads spawned by remote-trait-object, for an easy debug.

This can be helpful if you handle multiple contexts of remote-trait-object.

§call_slots: usize

Number of the maximum of concurrent calls.

Value of this doesn’t have anything to do with the number of threads that would be spawned. Having a large number of this wouldn’t charge any cost except really small additional memory allocation.

§call_timeout: Option<Duration>

A timeout for a remote method call.

All remote method invocations through your proxy object and delete requests (that happens when you drop a proxy object) will have this timeout. If it exceeds, it will cause an error.

Use None for to wait indefinitely.

§maximum_services_num: usize

A maximum number of services that this context can export.

§thread_pool: Arc<Mutex<ThreadPool>>

A shared instance of a thread pool that will be used in call handling

A remote-trait-object context will use this thread pool to handle an incoming method call. Size of this pool determines the maximum number of concurrent calls that the context can handle. Note that this pool is wrapped in Arc, which means that it can be possibly shared with other places.

Implementations§

Source§

impl Config

Source

pub fn default_setup() -> Self

Trait Implementations§

Source§

impl Clone for Config

Source§

fn clone(&self) -> Config

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

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

Performs copy-assignment from source. Read more
Source§

impl Debug for Config

Source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl Freeze for Config

§

impl !RefUnwindSafe for Config

§

impl Send for Config

§

impl Sync for Config

§

impl Unpin for Config

§

impl !UnwindSafe for Config

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> 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> 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.