pub enum Config {
    Thread,
    Process(usize),
    ProcessBinary(usize),
    Cluster {
        threads: usize,
        process: usize,
        addresses: Vec<String>,
        report: bool,
        log_fn: Box<dyn Fn(CommunicationSetup) -> Option<Logger<CommunicationEvent, CommunicationSetup>> + Send + Sync>,
    },
}
Expand description

Possible configurations for the communication infrastructure.

Variants§

§

Thread

Use one thread.

§

Process(usize)

Use one process with an indicated number of threads.

§

ProcessBinary(usize)

Use one process with an indicated number of threads. Use zero-copy exchange channels.

§

Cluster

Fields

§threads: usize

Number of per-process worker threads

§process: usize

Identity of this process

§addresses: Vec<String>

Addresses of all processes

§report: bool

Verbosely report connection process

§log_fn: Box<dyn Fn(CommunicationSetup) -> Option<Logger<CommunicationEvent, CommunicationSetup>> + Send + Sync>

Closure to create a new logger for a communication thread

Expect multiple processes.

Implementations§

source§

impl Config

source

pub fn install_options(opts: &mut Options)

Installs options into a getopts::Options struct that corresponds to the parameters in the configuration.

It is the caller’s responsibility to ensure that the installed options do not conflict with any other options that may exist in opts, or that may be installed into opts in the future.

This method is only available if the getopts feature is enabled, which it is by default.

source

pub fn from_matches(matches: &Matches) -> Result<Config, String>

Instantiates a configuration based upon the parsed options in matches.

The matches object must have been constructed from a getopts::Options which contained at least the options installed by Self::install_options.

This method is only available if the getopts feature is enabled, which it is by default.

source

pub fn from_args<I: Iterator<Item = String>>(args: I) -> Result<Config, String>

Constructs a new configuration by parsing the supplied text arguments.

Most commonly, callers supply std::env::args() as the iterator.

This method is only available if the getopts feature is enabled, which it is by default.

source

pub fn try_build( self ) -> Result<(Vec<GenericBuilder>, Box<dyn Any + Send>), String>

Attempts to assemble the described communication infrastructure.

Trait Implementations§

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 !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> 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, U> TryFrom<U> for T
where 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 T
where 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.