Was this page helpful?
CassUuid¶
-
struct CassUuid¶
Version 1 (time-based) or version 4 (random) UUID.
Public Functions
-
void cass_uuid_min_from_time(cass_uint64_t time, CassUuid *output)¶
Sets the UUID to the minimum V1 (time) value for the specified time.
- Parameters:
time – [in]
output – [out] A minimum V1 UUID for the specified time.
-
void cass_uuid_max_from_time(cass_uint64_t time, CassUuid *output)¶
Sets the UUID to the maximum V1 (time) value for the specified time.
- Parameters:
time – [in]
output – [out] A maximum V1 UUID for the specified time.
-
cass_uint64_t cass_uuid_timestamp(CassUuid uuid)¶
Gets the timestamp for a V1 UUID
- Parameters:
uuid – [in]
- Returns:
The timestamp in milliseconds since the Epoch (00:00:00 UTC on 1 January 1970). 0 returned if the UUID is not V1.
-
cass_uint8_t cass_uuid_version(CassUuid uuid)¶
Gets the version for a UUID
- Parameters:
uuid – [in]
- Returns:
The version of the UUID (1 or 4)
-
void cass_uuid_string(CassUuid uuid, char *output)¶
Returns a null-terminated string for the specified UUID.
- Parameters:
uuid – [in]
output – [out] A null-terminated string of length CASS_UUID_STRING_LENGTH.
-
CassError cass_uuid_from_string(const char *str, CassUuid *output)¶
Returns a UUID for the specified string.
Example: “550e8400-e29b-41d4-a716-446655440000”
- Parameters:
str – [in]
output – [out]
-
CassError cass_uuid_from_string_n(const char *str, size_t str_length, CassUuid *output)¶
Same as cass_uuid_from_string(), but with lengths for string parameters.
See also
- Parameters:
str – [in]
str_length – [in]
output – [out]
- Returns:
same as cass_uuid_from_string()
Public Members
-
cass_uint64_t time_and_version¶
Represents the time and version part of a UUID. The most significant 4 bits represent the version and the bottom 60 bits representing the time part. For version 1 the time part represents the number of 100 nanosecond periods since 00:00:00 UTC, January 1, 1970 (the Epoch). For version 4 the time part is randomly generated.
-
cass_uint64_t clock_seq_and_node¶
Represents the clock sequence and the node part of a UUID. The most significant 16 bits represent the clock sequence (except for the most significant bit which is always set) and the bottom 48 bits represent the node part. For version 1 (time-based) the clock sequence part is randomly generated and the node part can be explicitly set, otherwise, it’s generated from node unique information. For version 4 both the clock sequence and the node parts are randomly generated.
-
void cass_uuid_min_from_time(cass_uint64_t time, CassUuid *output)¶