TABLE OF CONTENTS


UUIDs/UUIDs.V1 [ Packages ]

[ Top ] [ UUIDs ] [ Packages ]

DESCRIPTION

    UUIDv1 as described in RFC-9562 5.1:
    https://www.ietf.org/rfc/rfc9562.html#section-5.1

SOURCE

package UUIDs.V1 is

UUIDs.V1/V1.UUID1 [ Subprograms ]

[ Top ] [ UUIDs.V1 ] [ Subprograms ]

SOURCE

   function UUID1 return UUID;

OPTIONS

    The default source of randomness is a pseudorandom number generator.
    If all random data should be retrieved from system random, refer to

RETURN VALUE

    UUIDs.UUID - The UUIDv1 generated by the function.

EXAMPLE

   --    --  Generate a UUID based on the current time.
   --    My_UUID : UUID := V1.UUID1;

SEE ALSO

    Please see RFC-9562 5.1 for a full description:
    https://www.ietf.org/rfc/rfc9562.html#section-5.1

NOTES

    As per RFC-9562 5.7, it is only recommended to utilize UUIDv1 if
    compatibility with UUIDv1 is required.  Otherwise, please consider
    using UUIDv7 instead for random + time based UUIDs for improved
    entropy characteristics over UUIDv1 or UUIDv6.

FUNCTION

    UUIDv1 is a time-based UUID generated by using a timestamp based on a
    count of  100-nanosecond intervals since 00:00:00.00, 15 October 1582
    (the date of Gregorian reform to the Christian calendar), a Node ID
    that remains static and is unique to the system such as a MAC address,
    and an ever-incrementing clock sequence field to help avoid duplicates
    that could arise when the clock is set backwards in time or if the
    Node ID changes.
    In this library, the clock sequence is completely random and will be
    regenerated with each generation.  The Node data is randomly-generated
    once at at the creation of the first v1 or v6 UUID. Any subsequent
    UUID will have the same Node data until the program ends.