#include <UUID.h>
Collaboration diagram for ACE_Utils::UUID_Generator:
Public Types | |
enum | { ACE_UUID_CLOCK_SEQ_MASK = 0x3FFF } |
typedef ACE_UINT64 | UUID_time |
Public Member Functions | |
UUID_Generator () | |
~UUID_Generator () | |
void | init (void) |
void | generateUUID (UUID &, ACE_UINT16 version=0x0001, u_char variant=0x80) |
UUID * | generateUUID (ACE_UINT16 version=0x0001, u_char variant=0x80) |
ACE_SYNCH_MUTEX * | lock (void) |
void | lock (ACE_SYNCH_MUTEX *lock, bool release_lock) |
Set a new locking strategy and return the old one. | |
Private Member Functions | |
void | get_timestamp (UUID_time ×tamp) |
void | get_systemtime (UUID_time &timeNow) |
the Christian calendar). | |
Private Attributes | |
UUID_time | timeLast_ |
The system time when that last uuid was generated. | |
UUID_State | uuid_state_ |
The UUID generator persistent state. | |
ACE_SYNCH_MUTEX * | lock_ |
bool | destroy_lock_ |
Classes | |
struct | UUID_State |
Type to represent UTC as a count of 100 nanosecond intervals since 00:00:00.00, 15 October 1582.
ACE_Utils::UUID_Generator::UUID_Generator | ( | ) |
ACE_Utils::UUID_Generator::~UUID_Generator | ( | ) |
void ACE_Utils::UUID_Generator::init | ( | void | ) |
void ACE_Utils::UUID_Generator::generateUUID | ( | UUID & | , | |
ACE_UINT16 | version = 0x0001 , |
|||
u_char | variant = 0x80 | |||
) |
Format timestamp, clockseq, and nodeID into an UUID of the specified version and variant. For generating UUID's with thread and process ids use variant=0xc0
UUID * ACE_Utils::UUID_Generator::generateUUID | ( | ACE_UINT16 | version = 0x0001 , |
|
u_char | variant = 0x80 | |||
) |
Format timestamp, clockseq, and nodeID into a VI UUID. For generating UUID's with thread and process ids use variant=0xc0
ACE_SYNCH_MUTEX * ACE_Utils::UUID_Generator::lock | ( | void | ) |
The locking strategy prevents multiple generators from accessing the UUID_state at the same time. Get the locking strategy.
void ACE_Utils::UUID_Generator::lock | ( | ACE_SYNCH_MUTEX * | lock, | |
bool | release_lock | |||
) |
Set a new locking strategy and return the old one.
void ACE_Utils::UUID_Generator::get_timestamp | ( | UUID_time & | timestamp | ) | [private] |
Obtain a UUID timestamp. Compensate for the fact that the time obtained from getSystem time has a resolution less than 100ns.
void ACE_Utils::UUID_Generator::get_systemtime | ( | UUID_time & | timeNow | ) | [private] |
the Christian calendar).
Obtain the system time in UTC as a count of 100 nanosecond intervals since 00:00:00.00, 15 October 1582 (the date of Gregorian reform to
Get the time of day, convert to 100ns ticks then add the offset.
The system time when that last uuid was generated.
The UUID generator persistent state.
ACE_SYNCH_MUTEX* ACE_Utils::UUID_Generator::lock_ [private] |
bool ACE_Utils::UUID_Generator::destroy_lock_ [private] |