Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

AsyncAutoResetEvent.cs 568 B

1234567891011121314151617181920212223242526
  1. using System;
  2. using System.Threading;
  3. using System.Threading.Tasks;
  4. namespace MQTTnet.Internal
  5. {
  6. public sealed class AsyncAutoResetEvent : IDisposable
  7. {
  8. private readonly SemaphoreSlim _semaphore = new SemaphoreSlim(0, 1);
  9. public Task WaitOneAsync(CancellationToken cancellationToken)
  10. {
  11. return _semaphore.WaitAsync(cancellationToken);
  12. }
  13. public void Set()
  14. {
  15. _semaphore.Release();
  16. }
  17. public void Dispose()
  18. {
  19. _semaphore?.Dispose();
  20. }
  21. }
  22. }