ps_uuid/methods/gen_ncs.rs
1use std::time::SystemTime;
2
3use crate::UUID;
4
5use super::NcsUuidError;
6
7impl UUID {
8 /// Generates a new NCS UUID (Variant 0).
9 ///
10 /// # Errors
11 ///
12 /// This method returns [`NcsUuidError::TimestampOverflow`] after 2015.
13 pub fn gen_ncs(address_family: u8, address: &[u8; 7]) -> Result<Self, NcsUuidError> {
14 Self::new_ncs(SystemTime::now(), address_family, address)
15 }
16}
17
18#[cfg(test)]
19mod tests {
20 use crate::{NcsUuidError, UUID};
21
22 #[test]
23 fn overflow() {
24 assert!(matches!(
25 UUID::gen_ncs(5, &[5, 4, 8, 6, 0, 0, 0]),
26 Err(NcsUuidError::TimestampOverflow)
27 ));
28 }
29}