Version 1 (time-based) or version 4 (random) UUID.

Attributes

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.

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:
Name Type Details
in time cass_uint64_t
out output CassUuid *

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:
Name Type Details
in time cass_uint64_t
out output CassUuid *

A maximum V1 UUID for the specified time.

cass_uint64_t

cass_uuid_timestamp

( CassUuid uuid )

Gets the timestamp for a V1 UUID

Parameters:
Name Type Details
in uuid CassUuid
Returns:
Type Details
cass_uint64_t

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:
Name Type Details
in uuid CassUuid
Returns:
Type Details
cass_uint8_t

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:
Name Type Details
in uuid CassUuid
out output char *

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:
Name Type Details
in str const char *
out output CassUuid *
CassError

cass_uuid_from_string_n

( const char * str, size_t str_length, CassUuid * output )

Same as CassUuid::cass_uuid_from_string, but with lengths for string parameters.

Parameters:
Name Type Details
in str const char *
in str_length size_t
out output CassUuid *
Returns:
Type Details
CassError

same as CassUuid::cass_uuid_from_string

See Also: