Versions in this module Expand all Collapse all v2 v2.5.6 Mar 5, 2025 v2.5.5 Feb 25, 2025 Changes in this version + const VersionedListenAtEarliest + const VersionedListenAtLatest + type AsyncTaskNotifier struct + func NewAsyncTaskNotifier[T any]() *AsyncTaskNotifier[T] + func (n *AsyncTaskNotifier[T]) BlockAndGetResult() T + func (n *AsyncTaskNotifier[T]) BlockUntilFinish() + func (n *AsyncTaskNotifier[T]) Cancel() + func (n *AsyncTaskNotifier[T]) Context() context.Context + func (n *AsyncTaskNotifier[T]) Finish(result T) + func (n *AsyncTaskNotifier[T]) FinishChan() <-chan struct{} + type ClosableLock struct + func (l *ClosableLock) Close() + func (l *ClosableLock) LockIfNotClosed() bool + func (l *ClosableLock) Unlock() + type ContextCond struct + L sync.Locker + func NewContextCond(l sync.Locker) *ContextCond + func (cv *ContextCond) LockAndBroadcast() + func (cv *ContextCond) UnsafeBroadcast() + func (cv *ContextCond) Wait(ctx context.Context) error + func (cv *ContextCond) WaitChan() <-chan struct{} + type Future struct + func NewFuture[T any]() *Future[T] + func (f *Future[T]) Done() <-chan struct{} + func (f *Future[T]) Get() T + func (f *Future[T]) GetWithContext(ctx context.Context) (T, error) + func (f *Future[T]) Ready() bool + func (f *Future[T]) Set(value T) + type VersionedListener struct + func (vl *VersionedListener) Sync() + func (vl *VersionedListener) Wait(ctx context.Context) error + func (vl *VersionedListener) WaitChan() <-chan struct{} + type VersionedNotifier struct + func NewVersionedNotifier() *VersionedNotifier + func (vn *VersionedNotifier) Listen(at versionedListenAt) *VersionedListener + func (vn *VersionedNotifier) NotifyAll()