1
0
mirror of synced 2026-04-14 20:38:41 +08:00

修改约束条件

This commit is contained in:
zhouzj
2021-03-14 12:38:12 +08:00
parent cac6ede6b7
commit 6ae25ac33a
8 changed files with 23 additions and 31 deletions

View File

@@ -30,12 +30,13 @@ namespace Yitter.IdGenerator
/// <summary>
/// 机器码
/// 与 WorkerIdBitLength 有关系
/// ushort类型最大值65535如果有更高要求请修改数据类型或联系作者)
/// </summary>
public virtual ushort WorkerId { get; set; } = 0;
/// <summary>
/// 机器码位长
/// 范围:2-21要求序列数位长+机器码位长不超过22
/// 范围:1-21要求序列数位长+机器码位长不超过22
/// 建议范围6-12。
/// </summary>
public virtual byte WorkerIdBitLength { get; set; } = 6;//10;
@@ -55,7 +56,7 @@ namespace Yitter.IdGenerator
/// <summary>
/// 最小序列数(含)
/// 默认5不小于1不大于MaxSeqNumber-2
/// 默认5不小于1不大于MaxSeqNumber
/// </summary>
public virtual ushort MinSeqNumber { get; set; } = 5;

View File

@@ -30,24 +30,21 @@ namespace Yitter.IdGenerator
/// <summary>
/// 机器码位长
/// (机器码+序列数<=22位
/// </summary>
protected readonly byte WorkerIdBitLength = 0;
/// <summary>
/// 自增序列数位长
/// (机器码+序列数<=22位
/// </summary>
protected readonly byte SeqBitLength = 0;
/// <summary>
/// 最大序列数(含此值
/// 超过最大值就会从MinSeqNumber开始
/// 最大序列数(含)
/// </summary>
protected readonly int MaxSeqNumber = 0;
/// <summary>
/// 最小序列数(含此值
/// 最小序列数(含)
/// </summary>
protected readonly ushort MinSeqNumber = 0;

View File

@@ -57,19 +57,15 @@ namespace Yitter.IdGenerator
}
var maxSeqNumber = Math.Pow(2, options.SeqBitLength) - 1;
//if (options.MaxSeqNumber > maxSeqNumber)
//{
// options.MaxSeqNumber = (int)maxSeqNumber;
//}
if (options.MaxSeqNumber < 0 || options.MaxSeqNumber > maxSeqNumber)
{
throw new ApplicationException("MaxSeqNumber error. (range:[1, " + maxSeqNumber + "]");
}
var maxValue = maxSeqNumber;// maxSeqNumber - 2;
var maxValue = maxSeqNumber; // maxSeqNumber - 1;
if (options.MinSeqNumber < 1 || options.MinSeqNumber > maxValue)
{
throw new ApplicationException("MinSeqNumber error. (range:[5, " + maxValue + "]");
throw new ApplicationException("MinSeqNumber error. (range:[1, " + maxValue + "]");
}
switch (options.Method)

View File

@@ -18,7 +18,7 @@
<Copyright>Yitter</Copyright>
<PackageProjectUrl>https://gitee.com/yitter/idgenerator</PackageProjectUrl>
<PackageLicenseExpression>MIT</PackageLicenseExpression>
<Version>1.0.6</Version>
<Version>1.0.7</Version>
<PackageReleaseNotes></PackageReleaseNotes>
</PropertyGroup>