dimas_com/communicator/
mod.rs1mod multi_communicator;
8mod single_communicator;
10
11#[allow(clippy::module_name_repetitions)]
13pub use multi_communicator::MultiCommunicator;
14#[allow(clippy::module_name_repetitions)]
15pub use single_communicator::SingleCommunicator;
16
17#[doc(hidden)]
18extern crate alloc;
19
20#[cfg(feature = "std")]
21extern crate std;
22
23use crate::traits::Communicator;
25use alloc::sync::Arc;
26use dimas_config::Config;
27use dimas_core::Result;
28
29pub fn from(config: &Config) -> Result<Arc<dyn Communicator>> {
32 if config.sessions().is_none() {
33 Ok(Arc::new(SingleCommunicator::new(config)?))
34 } else {
35 Ok(Arc::new(MultiCommunicator::new(config)?))
36 }
37}
38