mod abi;
mod codec;
mod error;
mod handle;
mod metadata;
mod query;
mod server;
mod session;
mod topic;
pub use abi::{BUS_ABI, BusAbi, CodecId, encoding_string};
pub use codec::{Codec, CodecError, MessagePack};
pub use error::{BusError, Result};
pub use handle::{DEFAULT_QUERY_TIMEOUT, Latest, Publisher, Querier, Received, Subscriber};
pub use metadata::{BusMetadata, Source};
pub use query::{QueryCode, QueryError, QueryFailure, ServerResult};
pub use server::{IncomingQuery, ServerQueryable};
pub use session::{Bus, BusConfig, BusHealth};
pub use topic::{PubSub, Query, Topic, TopicKind, WildcardPublish};
#[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord)]
pub struct LogicalTime {
epoch: u64,
time_ns: u64,
}
impl LogicalTime {
pub const fn new(epoch: u64, time_ns: u64) -> Self {
LogicalTime { epoch, time_ns }
}
pub const fn epoch(self) -> u64 {
self.epoch
}
pub const fn time_ns(self) -> u64 {
self.time_ns
}
}
#[cfg(test)]
mod tests;