package sync import ( "context" "crypto/tls" "time" "go-micro.dev/v5/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 } }