mirror of
https://github.com/go-micro/go-micro.git
synced 2024-12-18 08:26:38 +02:00
59 lines
987 B
Go
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
|
|
}
|
|
}
|