forked from TrueCloudLab/frostfs-node
29e974df93
Implement `Controller` designed to analyze the values collected by the local node (the source is hidden behind Writer/WriterProvider interfaces) and transfer them to the destination (hidden behind Iterator / IteratorProvider interface). Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
30 lines
495 B
Go
30 lines
495 B
Go
package trustcontroller
|
|
|
|
import (
|
|
"github.com/nspcc-dev/neofs-node/pkg/util/logger"
|
|
"go.uber.org/zap"
|
|
)
|
|
|
|
// Option sets an optional parameter of Controller.
|
|
type Option func(*options)
|
|
|
|
type options struct {
|
|
log *logger.Logger
|
|
}
|
|
|
|
func defaultOpts() *options {
|
|
return &options{
|
|
log: zap.L(),
|
|
}
|
|
}
|
|
|
|
// WithLogger returns option to specify logging component.
|
|
//
|
|
// Ignores nil values.
|
|
func WithLogger(l *logger.Logger) Option {
|
|
return func(o *options) {
|
|
if l != nil {
|
|
o.log = l
|
|
}
|
|
}
|
|
}
|