86 lines
1.9 KiB
Go
86 lines
1.9 KiB
Go
|
package register
|
||
|
|
||
|
import (
|
||
|
"context"
|
||
|
)
|
||
|
|
||
|
type noopRegister struct {
|
||
|
opts Options
|
||
|
}
|
||
|
|
||
|
func (n *noopRegister) Name() string {
|
||
|
return n.opts.Name
|
||
|
}
|
||
|
|
||
|
// Init initialize register
|
||
|
func (n *noopRegister) Init(opts ...Option) error {
|
||
|
for _, o := range opts {
|
||
|
o(&n.opts)
|
||
|
}
|
||
|
return nil
|
||
|
}
|
||
|
|
||
|
// Options returns options struct
|
||
|
func (n *noopRegister) Options() Options {
|
||
|
return n.opts
|
||
|
}
|
||
|
|
||
|
// Connect opens connection to register
|
||
|
func (n *noopRegister) Connect(ctx context.Context) error {
|
||
|
return nil
|
||
|
}
|
||
|
|
||
|
// Disconnect close connection to register
|
||
|
func (n *noopRegister) Disconnect(ctx context.Context) error {
|
||
|
return nil
|
||
|
}
|
||
|
|
||
|
// Register registers service
|
||
|
func (n *noopRegister) Register(ctx context.Context, svc *Service, opts ...RegisterOption) error {
|
||
|
return nil
|
||
|
}
|
||
|
|
||
|
// Deregister deregisters service
|
||
|
func (n *noopRegister) Deregister(ctx context.Context, svc *Service, opts ...DeregisterOption) error {
|
||
|
return nil
|
||
|
}
|
||
|
|
||
|
// LookupService returns servive info
|
||
|
func (n *noopRegister) LookupService(ctx context.Context, name string, opts ...LookupOption) ([]*Service, error) {
|
||
|
return []*Service{}, nil
|
||
|
}
|
||
|
|
||
|
// ListServices listing services
|
||
|
func (n *noopRegister) ListServices(ctx context.Context, opts ...ListOption) ([]*Service, error) {
|
||
|
return []*Service{}, nil
|
||
|
}
|
||
|
|
||
|
// Watch is used to watch for service changes
|
||
|
func (n *noopRegister) Watch(ctx context.Context, opts ...WatchOption) (Watcher, error) {
|
||
|
return &noopWatcher{done: make(chan struct{}), opts: NewWatchOptions(opts...)}, nil
|
||
|
}
|
||
|
|
||
|
// String returns register string representation
|
||
|
func (n *noopRegister) String() string {
|
||
|
return "noop"
|
||
|
}
|
||
|
|
||
|
type noopWatcher struct {
|
||
|
opts WatchOptions
|
||
|
done chan struct{}
|
||
|
}
|
||
|
|
||
|
func (n *noopWatcher) Next() (*Result, error) {
|
||
|
<-n.done
|
||
|
return nil, ErrWatcherStopped
|
||
|
}
|
||
|
|
||
|
func (n *noopWatcher) Stop() {
|
||
|
close(n.done)
|
||
|
}
|
||
|
|
||
|
// NewRegister returns a new noop register
|
||
|
func NewRegister(opts ...Option) Register {
|
||
|
return &noopRegister{opts: NewOptions(opts...)}
|
||
|
}
|