oids
Поддержка OID в Nim. OID — это глобальный идентификатор, состоящий из отметки времени, уникального счётчика и случайного значения. Это сочетание должно быть достаточным для генерации глобально уникального идентификатора. Эта реализация была извлечена из интерфейса Mongodb и поэтому бинарно совместима с Mongo OID.
Эта реализация вызывает math.randomize() для первого вызова genOid.
Импорты
- hashes, times, endians
Типы
Oid = object time: int32 fuzz: int32 count: int32
- OID Исходный код Редактировать
Процедуры
proc `==`(oid1: Oid; oid2: Oid): bool {...}{.raises: [], tags: [].}- Сравнение двух идентификаторов Mongo Object на равенство Исходный код Редактировать
proc hash(oid: Oid): Hash {...}{.raises: [], tags: [].}- Генерация хэша Oid для использования в хеш-таблицах Исходный код Редактировать
proc hexbyte(hex: char): int {...}{.raises: [], tags: [].}- Исходный код Редактировать
proc parseOid(str: cstring): Oid {...}{.raises: [], tags: [].}- Парсинг OID. Исходный код Редактировать
proc oidToString(oid: Oid; str: cstring) {...}{.raises: [], tags: [].}- Исходный код Редактировать
proc `$`(oid: Oid): string {...}{.raises: [], tags: [].}- Исходный код Редактировать
proc genOid(): Oid {...}{.raises: [], tags: [TimeEffect].}- Генерация нового OID. Исходный код Редактировать
proc generatedTime(oid: Oid): Time {...}{.raises: [], tags: [].}- Возвращает сгенерированную отметку времени OID. Исходный код Редактировать
© 2006–2021 Andreas Rumpf
Licensed under the MIT License.
https://nim-lang.org/docs/oids.html