package xsync
import "github.com/ydb-platform/ydb-go-sdk/v3/internal/xsync"
Index ¶
- func OnceFunc(f func(ctx context.Context) error) func(ctx context.Context) error
- type EventBroadcast
- type Mutex
- type Once
- func OnceValue[T closer.Closer](f func() T) *Once[T]
- func (v *Once[T]) Close(ctx context.Context) (err error)
- func (v *Once[T]) Get() T
- type OneTimeWaiter
- type RWMutex
Functions ¶
func OnceFunc ¶
Types ¶
type EventBroadcast ¶
type EventBroadcast struct {
// contains filtered or unexported fields
}
EventBroadcast is implementation of broadcast notify about event Zero value is usable, must not copy after first call any method
func (*EventBroadcast) Broadcast ¶
func (b *EventBroadcast) Broadcast()
func (*EventBroadcast) Waiter ¶
func (b *EventBroadcast) Waiter() OneTimeWaiter
Waiter return channel, that will close when next event will be broadcast. For prevent race between subscribe and event client code must subscribe at first, then check condition if false - wait closing channed and check condition again
type Mutex ¶
func (*Mutex) WithLock ¶
func (l *Mutex) WithLock(f func())
type Once ¶
func OnceValue ¶
func (*Once[T]) Close ¶
func (*Once[T]) Get ¶
func (v *Once[T]) Get() T
type OneTimeWaiter ¶
type OneTimeWaiter struct {
// contains filtered or unexported fields
}
func (*OneTimeWaiter) Done ¶
func (w *OneTimeWaiter) Done() <-chan struct{}
type RWMutex ¶
func (*RWMutex) WithLock ¶
func (l *RWMutex) WithLock(f func())
func (*RWMutex) WithRLock ¶
func (l *RWMutex) WithRLock(f func())
Source Files ¶
event_broadcast.go mutex.go once.go
- Version
- v3.61.2
- Published
- Mar 26, 2024
- Platform
- js/wasm
- Imports
- 4 packages
- Last checked
- 2 minutes ago –
Tools for package owners.