#include <UUID.h>
Collaboration diagram for ACE_Utils::UUID_Generator:

Public Types | |
| typedef ACE_UINT64 | UUID_time |
| ACE_UUID_CLOCK_SEQ_MASK = 0x3FFF | |
| enum | { ACE_UUID_CLOCK_SEQ_MASK = 0x3FFF } |
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 | ( | ) |
| 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
| 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
| 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.
| 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::init | ( | void | ) |
| void ACE_Utils::UUID_Generator::lock | ( | ACE_SYNCH_MUTEX * | lock, | |
| bool | release_lock | |||
| ) |
Set a new locking strategy and return the old one.
| 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.
bool ACE_Utils::UUID_Generator::destroy_lock_ [private] |
ACE_SYNCH_MUTEX* ACE_Utils::UUID_Generator::lock_ [private] |
The system time when that last uuid was generated.
The UUID generator persistent state.
1.4.7-1