Struct asuran::IMPLEMENTATION_UUID [−][src]
pub struct IMPLEMENTATION_UUID { /* fields omitted */ }
Expand description
The UUID of this asuran implementation
Methods from Deref<Target = Uuid>
Get a borrowed HyphenatedRef
formatter.
Get a borrowed SimpleRef
formatter.
Get a borrowed UrnRef
formatter.
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.
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.
Returns the version of the UUID.
This represents the algorithm used to generate the contents
Returns the four field values of the UUID in big-endian order.
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;
fn main() -> Result<(), uuid::Error> {
let uuid = Uuid::nil();
assert_eq!(uuid.as_fields(), (0, 0, 0, &[0u8; 8]));
let uuid = Uuid::parse_str("936DA01F-9ABD-4D9D-80C7-02AF85C822A8")?;
assert_eq!(
uuid.as_fields(),
(
0x936DA01F,
0x9ABD,
0x4D9D,
b"\x80\xC7\x02\xAF\x85\xC8\x22\xA8"
)
);
Ok(())
}
Returns the four field values of the UUID in little-endian order.
The bytes in the returned integer fields will be converted from big-endian order.
Examples
use uuid::Uuid;
fn main() -> Result<(), uuid::Error> {
let uuid = Uuid::parse_str("936DA01F-9ABD-4D9D-80C7-02AF85C822A8")?;
assert_eq!(
uuid.to_fields_le(),
(
0x1FA06D93,
0xBD9A,
0x9D4D,
b"\x80\xC7\x02\xAF\x85\xC8\x22\xA8"
)
);
Ok(())
}
Returns a 128bit value containing the UUID data.
The bytes in the UUID will be packed into a u128
, like the
Uuid::as_bytes
method.
Examples
use uuid::Uuid;
fn main() -> Result<(), uuid::Error> {
let uuid = Uuid::parse_str("936DA01F-9ABD-4D9D-80C7-02AF85C822A8")?;
assert_eq!(
uuid.as_u128(),
0x936DA01F9ABD4D9D80C702AF85C822A8,
);
Ok(())
}
Returns a 128bit little-endian value containing the UUID data.
The bytes in the UUID will be reversed and packed into a u128
.
Note that this will produce a different result than
Uuid::to_fields_le
, because the entire UUID is reversed, rather
than reversing the individual fields in-place.
Examples
use uuid::Uuid;
fn main() -> Result<(), uuid::Error> {
let uuid = Uuid::parse_str("936DA01F-9ABD-4D9D-80C7-02AF85C822A8")?;
assert_eq!(
uuid.to_u128_le(),
0xA822C885AF02C7809D4DBD9A1FA06D93,
);
Ok(())
}
Returns an array of 16 octets containing the UUID data.
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for IMPLEMENTATION_UUID
impl Send for IMPLEMENTATION_UUID
impl Sync for IMPLEMENTATION_UUID
impl Unpin for IMPLEMENTATION_UUID
impl UnwindSafe for IMPLEMENTATION_UUID
Blanket Implementations
Mutably borrows from an owned value. Read more
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more