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.
Procs
proc `==`(oid1: Oid; oid2: Oid): bool {.
raises: [], tags: [].}- Compare two Mongo Object IDs for equality Source Edit
proc hexbyte(hex: char): int {.
raises: [], tags: [].}- Source Edit
proc parseOid(str: cstring): Oid {.
raises: [], tags: [].}- parses an OID. Source Edit
proc oidToString(oid: Oid; str: cstring) {.
raises: [], tags: [].}- Source Edit
proc `$`(oid: Oid): string {.
raises: [], tags: [].}- Source Edit
proc genOid(): Oid {.
raises: [], tags: [].}- generates a new OID. Source Edit
proc generatedTime(oid: Oid): Time {.
raises: [], tags: [].}- returns the generated timestamp of the OID. Source Edit