Пример #1
0
 /// <summary>
 /// 锁管理对象
 /// </summary>
 /// <param name="node">锁节点</param>
 /// <param name="timeoutMilliseconds">锁的超时毫秒数</param>
 /// <param name="randomNo">锁序号</param>
 internal Manager(DataStructure.Lock node, uint timeoutMilliseconds, ref ReturnValue <ulong> randomNo) : base(node, timeoutMilliseconds)
 {
     timeout       = AutoCSer.Threading.SecondTimer.Now.AddTicks(timeoutTicks - TimeSpan.TicksPerSecond);
     Step          = Step.Lock;
     this.randomNo = randomNo.Value;
     randomNo.Type = ReturnType.Unknown;
 }
Пример #2
0
 /// <summary>
 /// 锁管理对象
 /// </summary>
 /// <param name="node">锁节点</param>
 /// <param name="timeoutMilliseconds">锁的超时毫秒数</param>
 /// <param name="randomNo">锁序号</param>
 internal Manager(DataStructure.Lock node, uint timeoutMilliseconds, ref ReturnValue <ulong> randomNo) : base(node, timeoutMilliseconds)
 {
     timeout       = Date.NowTime.Now.AddTicks(timeoutTicks - Date.SecondTicks);
     Step          = Step.Lock;
     this.randomNo = randomNo.Value;
     randomNo.Type = ReturnType.Unknown;
 }
Пример #3
0
 /// <summary>
 /// 锁管理对象
 /// </summary>
 /// <param name="node">锁节点</param>
 /// <param name="timeoutMilliseconds">锁的超时毫秒数</param>
 /// <param name="onEnter">获取锁以后的回调</param>
 internal AsynchronousTimeoutManager(DataStructure.Lock node, uint timeoutMilliseconds, Action <ReturnValue <AsynchronousTimeoutManager> > onEnter) : base(node, timeoutMilliseconds)
 {
     this.onEnter = onEnter;
 }
Пример #4
0
 /// <summary>
 /// 锁管理对象
 /// </summary>
 /// <param name="node">锁节点</param>
 /// <param name="timeoutMilliseconds">锁的超时毫秒数</param>
 internal TimeoutManager(DataStructure.Lock node, uint timeoutMilliseconds) : base(node, timeoutMilliseconds)
 {
     node.ClientDataStructure.Client.MasterQueryAsynchronous(node.GetEnterNode(timeoutTicks), enter);
 }
Пример #5
0
 /// <summary>
 /// 锁管理对象
 /// </summary>
 /// <param name="node">锁节点</param>
 /// <param name="timeoutMilliseconds">锁的超时毫秒数</param>
 internal ManagerBase(DataStructure.Lock node, uint timeoutMilliseconds)
 {
     this.node    = node;
     timeoutTicks = DataStructure.Lock.FotmatTimeoutTicks(timeoutMilliseconds);
 }