#![doc(issue_tracker_base_url = "https://github.com/chainbound/msg-rs/issues/")]
#![cfg_attr(docsrs, feature(doc_cfg))]
#![cfg_attr(not(test), warn(unused_crate_dependencies))]
pub mod stats;
pub mod hooks;
pub use hooks::{ConnectionHook, Error as HookError, HookResult};
pub(crate) use hooks::ConnectionHookErased;
#[path = "pub/mod.rs"]
mod pubs;
pub use pubs::{PubError, PubOptions, PubSocket};
mod rep;
pub use rep::*;
mod req;
pub use req::*;
mod sub;
pub use sub::*;
mod connection;
pub use connection::*;
pub const DEFAULT_BUFFER_SIZE: usize = 8192;
pub const DEFAULT_QUEUE_SIZE: usize = 8192;
pub struct RequestId(u32);
impl RequestId {
pub fn new(id: u32) -> Self {
Self(id)
}
pub fn id(&self) -> u32 {
self.0
}
pub fn increment(&mut self) {
self.0 = self.0.wrapping_add(1);
}
}
#[derive(Debug, Clone, Default, Copy, PartialEq, Eq)]
pub enum Profile {
#[default]
Balanced,
Latency,
Throughput,
}