dl
dl_guid.h 文件参考

唯一标识符 更多...

#include <array>
#include "dl_type.h"
#include "math/dl_math.h"
#include "system/dl_time.h"

浏览该文件的源代码.

class  dl::UidGenerator
 uid生成器 更多...
 

命名空间

namespace  dl
 

类型定义

using dl::Uid = uint64_t
 
using dl::Guid = std::array<uint64_t, 2>
 

变量

constexpr uint8_t dl::UID_STEP = 16
 单步生成时间(毫秒)
 
constexpr uint64_t dl::UID_YEAR_SECOND_X = 366ull * 24ull * 60ull * 60ull * UID_STEP
 一年生成的数量
 
constexpr uint8_t dl::UID_YEAR = 100
 需要支持多少年
 
constexpr uint8_t dl::UID_BIT_USER = 8
 自定义数据位数
 
constexpr uint8_t dl::UID_BIT_TIME = 40
 时间戳占据位数
 
constexpr uint64_t dl::UID_STEP_COUNT = Math::Pow64(2, 64 - UID_BIT_TIME - UID_BIT_USER)
 单步最大数量
 
constexpr uint64_t dl::UID_POW_2_X = Math::Pow64(2, UID_BIT_TIME)
 时间戳占据位数能表示的上限
 

详细描述

唯一标识符

版本
1.0
作者
lveyou
日期
26-01-19
注解
uid: 64位,按时间戳生成,单位时间内数量有限制 guid: 128位,理论有碰撞。CrossGuid xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

在文件 dl_guid.h 中定义.