pub enum CommunicationConfig {
Thread,
Process(usize),
ProcessBinary(usize),
Cluster {
threads: usize,
process: usize,
addresses: Vec<String>,
report: bool,
zerocopy: bool,
log_fn: Arc<dyn Fn(CommunicationSetup) -> Option<Logger<CapacityContainerBuilder<Vec<(Duration, CommunicationEvent)>>>> + 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
Expect multiple processes.
Fields
log_fn: Arc<dyn Fn(CommunicationSetup) -> Option<Logger<CapacityContainerBuilder<Vec<(Duration, CommunicationEvent)>>>> + Send + Sync>
Closure to create a new logger for a communication thread
Implementations§
Source§impl Config
impl Config
Sourcepub fn install_options(opts: &mut Options)
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.
Sourcepub fn from_matches(matches: &Matches) -> Result<Config, String>
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.
Sourcepub fn from_args<I>(args: I) -> Result<Config, String>
pub fn from_args<I>(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.
Sourcepub fn try_build(
self,
) -> Result<(Vec<GenericBuilder>, Box<dyn Any + Send>), String>
pub fn try_build( self, ) -> Result<(Vec<GenericBuilder>, Box<dyn Any + Send>), String>
Attempts to assemble the described communication infrastructure.
Sourcepub fn try_build_with(
self,
refill: BytesRefill,
) -> Result<(Vec<GenericBuilder>, Box<dyn Any + Send>), String>
pub fn try_build_with( self, refill: BytesRefill, ) -> Result<(Vec<GenericBuilder>, Box<dyn Any + Send>), String>
Attempts to assemble the described communication infrastructure, using the supplied refill function.
Trait Implementations§
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> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more