Module oids

Nim OID support. An OID is a global ID that consists of a timestamp, a unique counter and a random value. This combination should suffice to produce a globally distributed unique ID. This implementation was extracted from the Mongodb interface and it thus binary compatible with a Mongo OID.

This implementation calls math.randomize() for the first call of genOid.

Types

Oid = object 
  time: int32                 ## 
  fuzz: int32                 ## 
  count: int32                ## 
  
an OID   Source

Procs

proc hexbyte(hex: char): int {.raises: [], tags: [].}
  Source
proc parseOid(str: cstring): Oid {.raises: [], tags: [].}
parses an OID.   Source
proc oidToString(oid: Oid; str: cstring) {.raises: [], tags: [].}
  Source
proc `$`(oid: Oid): string {.raises: [], tags: [].}
  Source
proc genOid(): Oid {.raises: [], tags: [].}
generates a new OID.   Source
proc generatedTime(oid: Oid): Time {.raises: [], tags: [].}
returns the generated timestamp of the OID.   Source