UUID.cpp File Reference

#include "ace/UUID.h"
#include "ace/Guard_T.h"
#include "ace/Log_Msg.h"
#include "ace/OS_NS_stdio.h"
#include "ace/OS_NS_string.h"
#include "ace/OS_NS_sys_time.h"
#include "ace/OS_NS_netdb.h"
#include "ace/OS_NS_unistd.h"
#include "ace/ACE.h"
Include dependency graph for UUID.cpp:

Functions

 ACE_RCSID (ace, UUID,"$Id: UUID.cpp 85376 2009-05-18 17:12:47Z shuston $") 1 namespace ACE_Utils

Function Documentation

ACE_RCSID ( ace  ,
UUID  ,
"$Id: UUID.cpp 85376 2009-05-18 17:12:47Z shuston $"   
)

Todo:
We should create an UUID_Ex class for UUIDs that contain the thread id and process id.

Special case for the nil UUID.

Support versions 1, 3, and 4 only

Obtain a new timestamp. If UUID's are being generated too quickly the clock sequence will be incremented

ACE_Time_Value is in POSIX time, seconds since Jan 1, 1970. UUIDs use time in 100ns ticks since 15 October 1582. The difference is: 15 Oct 1582 - 1 Jan 1600: 17 days in Oct, 30 in Nov, 31 in Dec + 17 years and 4 leap days (1584, 88, 92 and 96) 1 Jan 1600 - 1 Jan 1900: 3 centuries + 73 leap days ( 25 in 17th cent. and 24 each in 18th and 19th centuries) 1 Jan 1900 - 1 Jan 1970: 70 years + 17 leap days. This adds up, in days: (17+30+31+365*17+4)+ (365*300+73)+ (365*70+17) or 122192928000000000U (0x1B21DD213814000) 100 ns ticks.

Get the time of day, convert to 100ns ticks then add the offset.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on Mon Nov 30 00:51:14 2009 for ACE by  doxygen 1.6.1