pub mod flags;
pub mod id;
pub mod semver;
pub mod siphash;
pub use flags::{Flags32, Flags64};
pub use id::{HeaderKeyId, InstanceId, InterfaceId, MethodId, MetricId, ServiceId};
pub use semver::{PackedVersion, VersionError};
pub use uuid::Uuid;
pub fn uuid_bytes(id: Uuid) -> bytes::Bytes {
bytes::Bytes::copy_from_slice(id.as_bytes())
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_integration_example() {
let interface_id = siphash::hash_name_u32("mensa.user.v2.UserInterface");
assert_ne!(interface_id, 0);
let version = semver::pack_version(2, 3, 1).unwrap();
assert_eq!(version.as_u32(), 2_003_001);
let mut flags = Flags64::new();
flags.set(0, true);
assert!(flags.get(0));
let uuid = Uuid::parse_str("550e8400-e29b-41d4-a716-446655440000").unwrap();
assert_eq!(uuid.as_bytes().len(), 16);
}
}