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 calls initRand() for the first call of genOid.
Procs
proc bigEndian32(b: int32): int32 {....raises: [], tags: [], forbids: [].}
- Source Edit
proc constructOid(time: int32; fuzz: int32; count: int32): Oid {....raises: [], tags: [], forbids: [].}
- Source Edit
proc deconstruct(id: Id): tuple[time: int32, fuzz: int32, count: int32] {. borrow, ...raises: [], tags: [], forbids: [].}
- Source Edit
proc deconstruct(oid: Oid): tuple[time: int32, fuzz: int32, count: int32] {. ...raises: [], tags: [], forbids: [].}
- Source Edit
proc fromJsonHook(id: var Id; json: JsonNode) {....raises: [], tags: [], forbids: [].}
- Source Edit
proc generatedTime(oid: Oid): Time {....raises: [], tags: [], forbids: [].}
- Returns the generated timestamp of the OID. Source Edit
proc handleHexChar(c: char): int {.inline, ...raises: [], tags: [], forbids: [].}
- Source Edit
func idToString(id: Id): cstring {.exportc, ...raises: [], tags: [], forbids: [].}
- Source Edit