Skip to main content

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}