Exemplo n.º 1
0
 public SnowflakeIdMaker(IOptions <SnowflakeOption> options, IServiceProvider provider)
 {
     _provider     = provider;
     _option       = options.Value;
     _workIdLength = _option.WorkIdLength;
     _maxWorkId    = 1 << _workIdLength;
     //工作机器id和序列号的总长度是22位,为了使组件更灵活,根据机器id的长度计算序列号的长度。
     _indexLength = 22 - _workIdLength;
     _maxIndex    = 1 << _indexLength;
 }
 public SnowflakeBackgroundServices(ISnowflakeIdMaker idMaker, IDistributedSupport distributed, IOptions <SnowflakeOption> options)
 {
     _idMaker     = idMaker;
     option       = options.Value;
     _distributed = distributed;
 }