Domain/OS uid_$t

Domain/OS uid_$t

Unique Identifiers, or UIDs, are the fundamental object in Apollo Domain/OS. They are composed of a timestamp and a machine (node) number, and therefore every time you call uid_$gen, you get a guaranteed unique object. Domain uses these to identify everything from filesystem objects to processes to object types and traits. They are defined in <apollo/base.h>.
 31             16 15             0
+----------------------------------+
|CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC|    .clock
+--------+--------+----------------+
|iiii----|----NNNN|NNNNNNNNNNNNNNNN|    .node
+--------+--------+----------------+

C..C - Top 32-bits of clock (4 mSec units)

iiii - A counter if more than one UID is generated
       in one four-millisecond interval

N..N - Node ID