IAffinityToken.cs 1023 B

12345678910111213141516171819202122232425
  1. namespace Quadarax.Foundation.Core.Business.Processor.Task;
  2. public interface IAffinityToken : IEquatable<AffinityToken>
  3. {
  4. /// <summary>
  5. /// Contains the queue identifier which is used to identify owning/locking queue.
  6. /// </summary>
  7. string QueueIdentifier { get; }
  8. /// <summary>
  9. /// Contains the worker ordinal which is used to identify owning/locking worker.
  10. /// </summary>
  11. int? WorkerOrdinal { get; }
  12. /// <summary>
  13. /// Setup affinity token from complex string representation.
  14. /// </summary>
  15. /// <param name="affinityTokenComplex">Complex affinity token representation</param>
  16. void FromComplex(string affinityTokenComplex);
  17. /// <summary>
  18. /// Setup affinity token from queue identifier and worker ordinal.
  19. /// </summary>
  20. /// <param name="queueIdentifier">queue identifier</param>
  21. /// <param name="workerOrdinal">Worker ordinal number</param>
  22. void Set(string queueIdentifier, int workerOrdinal);
  23. string ToString();
  24. }