Files
kratos-bootstrap/registry/etcd/options.go
2025-06-02 11:53:18 +08:00

36 lines
666 B
Go

package etcd
import (
"context"
"time"
)
// Option is etcd registry option.
type Option func(o *options)
type options struct {
ctx context.Context
namespace string
ttl time.Duration
maxRetry int
}
// Context with registry context.
func Context(ctx context.Context) Option {
return func(o *options) { o.ctx = ctx }
}
// Namespace with registry namespace.
func Namespace(ns string) Option {
return func(o *options) { o.namespace = ns }
}
// RegisterTTL with register ttl.
func RegisterTTL(ttl time.Duration) Option {
return func(o *options) { o.ttl = ttl }
}
func MaxRetry(num int) Option {
return func(o *options) { o.maxRetry = num }
}