1 #[cfg(any(feature = "v4", feature = "v7"))] u128() -> u1282pub(crate) fn u128() -> u128 { 3 #[cfg(not(feature = "fast-rng"))] 4 { 5 let mut bytes = [0u8; 16]; 6 7 getrandom::getrandom(&mut bytes).unwrap_or_else(|err| { 8 // NB: getrandom::Error has no source; this is adequate display 9 panic!("could not retrieve random bytes for uuid: {}", err) 10 }); 11 12 u128::from_ne_bytes(bytes) 13 } 14 15 #[cfg(feature = "fast-rng")] 16 { 17 rand::random() 18 } 19 } 20 21 #[cfg(any(feature = "v1", feature = "v6"))] u16() -> u1622pub(crate) fn u16() -> u16 { 23 #[cfg(not(feature = "fast-rng"))] 24 { 25 let mut bytes = [0u8; 2]; 26 27 getrandom::getrandom(&mut bytes).unwrap_or_else(|err| { 28 // NB: getrandom::Error has no source; this is adequate display 29 panic!("could not retrieve random bytes for uuid: {}", err) 30 }); 31 32 u16::from_ne_bytes(bytes) 33 } 34 35 #[cfg(feature = "fast-rng")] 36 { 37 rand::random() 38 } 39 } 40 41 #[cfg(feature = "v7")] u64() -> u6442pub(crate) fn u64() -> u64 { 43 #[cfg(not(feature = "fast-rng"))] 44 { 45 let mut bytes = [0u8; 8]; 46 47 getrandom::getrandom(&mut bytes).unwrap_or_else(|err| { 48 // NB: getrandom::Error has no source; this is adequate display 49 panic!("could not retrieve random bytes for uuid: {}", err) 50 }); 51 52 u64::from_ne_bytes(bytes) 53 } 54 55 #[cfg(feature = "fast-rng")] 56 { 57 rand::random() 58 } 59 } 60