1
0
mirror of synced 2026-04-17 22:08:39 +08:00
Files
SnowFlake-IdGenerator/Go/source/yitidgen/contract/IdGeneratorOptions.go
zhouzj ffb9978f07 AddGo
2021-03-19 22:14:50 +08:00

26 lines
1.1 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package contract
type IdGeneratorOptions struct {
Method uint16 // 雪花计算方法,1-漂移算法|2-传统算法默认1
BaseTime int64 // 基础时间,不能超过当前系统时间
WorkerId uint16 // 机器码,与 WorkerIdBitLength 有关系
WorkerIdBitLength byte // 机器码位长范围1-21要求序列数位长+机器码位长不超过22
SeqBitLength byte // 序列数位长范围2-21要求序列数位长+机器码位长不超过22
MaxSeqNumber uint32 // 最大序列数由SeqBitLength计算的最大值
MinSeqNumber uint32 // 最小序列数默认5不小于1不大于MaxSeqNumber
TopOverCostCount uint // 最大漂移次数默认2000推荐范围500-10000与计算能力有关
}
func NewIdGeneratorOptions(workerId uint16) *IdGeneratorOptions {
return &IdGeneratorOptions{
Method: 1,
WorkerId: workerId,
BaseTime: 1582136402000,
WorkerIdBitLength: 6,
SeqBitLength: 6,
MaxSeqNumber: 0,
MinSeqNumber: 5,
TopOverCostCount: 2000,
}
}