Struct hyper_sardine::AuthId
source · pub struct AuthId(pub Uuid);
Tuple Fields
0: Uuid
Methods from Deref<Target = Uuid>
sourcepub fn get_variant(&self) -> Option<UuidVariant>
pub fn get_variant(&self) -> Option<UuidVariant>
Returns the variant of the Uuid
structure.
This determines the interpretation of the structure of the UUID. Currently only the RFC4122 variant is generated by this module.
sourcepub fn get_version_num(&self) -> usize
pub fn get_version_num(&self) -> usize
Returns the version number of the Uuid
.
This represents the algorithm used to generate the contents.
Currently only the Random (V4) algorithm is supported by this module. There are security and privacy implications for using older versions - see Wikipedia: Universally Unique Identifier for details.
sourcepub fn get_version(&self) -> Option<UuidVersion>
pub fn get_version(&self) -> Option<UuidVersion>
Returns the version of the Uuid
.
This represents the algorithm used to generate the contents
sourcepub fn as_fields(&self) -> (u32, u16, u16, &[u8; 8])
pub fn as_fields(&self) -> (u32, u16, u16, &[u8; 8])
Returns the four field values of the UUID.
These values can be passed to the from_fields()
method to get the
original Uuid
back.
- The first field value represents the first group of (eight) hex
digits, taken as a big-endian
u32
value. For V1 UUIDs, this field represents the low 32 bits of the timestamp. - The second field value represents the second group of (four) hex
digits, taken as a big-endian
u16
value. For V1 UUIDs, this field represents the middle 16 bits of the timestamp. - The third field value represents the third group of (four) hex
digits, taken as a big-endian
u16
value. The 4 most significant bits give the UUID version, and for V1 UUIDs, the last 12 bits represent the high 12 bits of the timestamp. - The last field value represents the last two groups of four and twelve hex digits, taken in order. The first 1-3 bits of this indicate the UUID variant, and for V1 UUIDs, the next 13-15 bits indicate the clock sequence and the last 48 bits indicate the node ID.
Examples
use uuid::Uuid;
let uuid = Uuid::nil();
assert_eq!(uuid.as_fields(), (0, 0, 0, &[0u8; 8]));
let uuid = Uuid::parse_str("936DA01F-9ABD-4D9D-80C7-02AF85C822A8").unwrap();
assert_eq!(uuid.as_fields(),
(0x936DA01F, 0x9ABD, 0x4D9D, b"\x80\xC7\x02\xAF\x85\xC8\x22\xA8"));
sourcepub fn as_bytes(&self) -> &[u8; 16]
pub fn as_bytes(&self) -> &[u8; 16]
Returns an array of 16 octets containing the UUID data.
Examples
use uuid::Uuid;
let uuid = Uuid::nil();
assert_eq!(uuid.as_bytes(), &[0; 16]);
let uuid = Uuid::parse_str("936DA01F9ABD4d9d80C702AF85C822A8").unwrap();
assert_eq!(uuid.as_bytes(),
&[147, 109, 160, 31, 154, 189, 77, 157,
128, 199, 2, 175, 133, 200, 34, 168]);
sourcepub fn simple(&self) -> Simple<'_>
pub fn simple(&self) -> Simple<'_>
Returns a wrapper which when formatted via fmt::Display
will format a
string of 32 hexadecimal digits.
Examples
use uuid::Uuid;
let uuid = Uuid::nil();
assert_eq!(uuid.simple().to_string(),
"00000000000000000000000000000000");
sourcepub fn hyphenated(&self) -> Hyphenated<'_>
pub fn hyphenated(&self) -> Hyphenated<'_>
Returns a wrapper which when formatted via fmt::Display
will format a
string of hexadecimal digits separated into groups with a hyphen.
Examples
use uuid::Uuid;
let uuid = Uuid::nil();
assert_eq!(uuid.hyphenated().to_string(),
"00000000-0000-0000-0000-000000000000");
sourcepub fn urn(&self) -> Urn<'_>
pub fn urn(&self) -> Urn<'_>
Returns a wrapper which when formatted via fmt::Display
will format a
string of the UUID as a full URN string.
Examples
use uuid::Uuid;
let uuid = Uuid::nil();
assert_eq!(uuid.urn().to_string(),
"urn:uuid:00000000-0000-0000-0000-000000000000");
sourcepub fn to_timestamp(&self) -> Option<(u64, u16)>
pub fn to_timestamp(&self) -> Option<(u64, u16)>
Returns an Optional Tuple of (u64, u16) representing the timestamp and counter portion of a V1 UUID. If the supplied UUID is not V1, this will return None