LockComponent.cs 533 B

1234567891011121314151617181920212223
  1. using System.Collections.Generic;
  2. using System.Net;
  3. namespace ETModel
  4. {
  5. public enum LockStatus
  6. {
  7. LockedNot,
  8. LockRequesting,
  9. Locked,
  10. }
  11. /// <summary>
  12. /// 分布式锁组件,Unit对象可能在不同进程上有镜像,访问该对象的时候需要对他加锁
  13. /// </summary>
  14. public class LockComponent: Component
  15. {
  16. public LockStatus status = LockStatus.LockedNot;
  17. public IPEndPoint address;
  18. public int lockCount;
  19. public readonly Queue<ETTaskCompletionSource> queue = new Queue<ETTaskCompletionSource>();
  20. }
  21. }