[][src]Struct remote_trait_object::Config

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>>,
}

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

impl Config[src]

pub fn default_setup() -> Self[src]

Trait Implementations

impl Clone for Config[src]

impl Debug for Config[src]

Auto Trait Implementations

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> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

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.