DotNext.Threading by .NET Foundation and Contributors

<PackageReference Include="DotNext.Threading" Version="4.4.0" />

 IAsyncEvent

public interface IAsyncEvent : IDisposable
Represents asynchronous event.
bool IsSet { get; }

Determines whether this event in signaled state.

bool Reset()

Changes state of this even to non-signaled.

bool Signal()

Raises asynchronous event if it meets internal conditions.

ValueTask<bool> WaitAsync(TimeSpan timeout, CancellationToken token = default)

Suspends the caller until this event is set.

Suspends the caller until this event is set.