1
0
mirror of https://github.com/go-micro/go-micro.git synced 2024-12-18 08:26:38 +02:00
go-micro/sync/options.go
2022-09-30 16:27:07 +02:00

59 lines
987 B
Go

package sync
import (
"context"
"crypto/tls"
"time"
"go-micro.dev/v4/logger"
)
// Nodes sets the addresses to use.
func Nodes(a ...string) Option {
return func(o *Options) {
o.Nodes = a
}
}
// Prefix sets a prefix to any lock ids used.
func Prefix(p string) Option {
return func(o *Options) {
o.Prefix = p
}
}
// LockTTL sets the lock ttl.
func LockTTL(t time.Duration) LockOption {
return func(o *LockOptions) {
o.TTL = t
}
}
// LockWait sets the wait time.
func LockWait(t time.Duration) LockOption {
return func(o *LockOptions) {
o.Wait = t
}
}
// WithTLS sets the TLS config.
func WithTLS(t *tls.Config) Option {
return func(o *Options) {
o.TLSConfig = t
}
}
// WithContext sets the syncs context, for any extra configuration.
func WithContext(c context.Context) Option {
return func(o *Options) {
o.Context = c
}
}
// WithLogger sets the underline logger.
func WithLogger(l logger.Logger) Option {
return func(o *Options) {
o.Logger = l
}
}