Compare commits
5 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
558c6f4d7c | ||
d7dd6fbeb2 | |||
a00cf2c8d9 | |||
|
a3e8ab2492 | ||
06da500ef4 |
@@ -149,7 +149,7 @@ func (m *memory) Register(_ context.Context, s *register.Service, opts ...regist
|
||||
m.opts.Logger.Debug(m.opts.Context, fmt.Sprintf("Register added new service: %s, version: %s", s.Name, s.Version))
|
||||
}
|
||||
m.records[options.Namespace] = srvs
|
||||
go m.sendEvent(®ister.Result{Action: "create", Service: s})
|
||||
go m.sendEvent(®ister.Result{Action: register.EventCreate, Service: s})
|
||||
}
|
||||
|
||||
var addedNodes bool
|
||||
@@ -185,7 +185,7 @@ func (m *memory) Register(_ context.Context, s *register.Service, opts ...regist
|
||||
if m.opts.Logger.V(logger.DebugLevel) {
|
||||
m.opts.Logger.Debug(m.opts.Context, fmt.Sprintf("Register added new node to service: %s, version: %s", s.Name, s.Version))
|
||||
}
|
||||
go m.sendEvent(®ister.Result{Action: "update", Service: s})
|
||||
go m.sendEvent(®ister.Result{Action: register.EventUpdate, Service: s})
|
||||
} else {
|
||||
// refresh TTL and timestamp
|
||||
for _, n := range s.Nodes {
|
||||
@@ -238,7 +238,7 @@ func (m *memory) Deregister(ctx context.Context, s *register.Service, opts ...re
|
||||
// is cleanup
|
||||
if len(version.Nodes) > 0 {
|
||||
m.records[options.Namespace][s.Name][s.Version] = version
|
||||
go m.sendEvent(®ister.Result{Action: "update", Service: s})
|
||||
go m.sendEvent(®ister.Result{Action: register.EventUpdate, Service: s})
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -246,7 +246,7 @@ func (m *memory) Deregister(ctx context.Context, s *register.Service, opts ...re
|
||||
// register and exit
|
||||
if len(versions) == 1 {
|
||||
delete(m.records[options.Namespace], s.Name)
|
||||
go m.sendEvent(®ister.Result{Action: "delete", Service: s})
|
||||
go m.sendEvent(®ister.Result{Action: register.EventDelete, Service: s})
|
||||
|
||||
if m.opts.Logger.V(logger.DebugLevel) {
|
||||
m.opts.Logger.Debug(m.opts.Context, fmt.Sprintf("Register removed service: %s", s.Name))
|
||||
@@ -256,7 +256,7 @@ func (m *memory) Deregister(ctx context.Context, s *register.Service, opts ...re
|
||||
|
||||
// there are other versions of the service running, so only remove this version of it
|
||||
delete(m.records[options.Namespace][s.Name], s.Version)
|
||||
go m.sendEvent(®ister.Result{Action: "delete", Service: s})
|
||||
go m.sendEvent(®ister.Result{Action: register.EventDelete, Service: s})
|
||||
if m.opts.Logger.V(logger.DebugLevel) {
|
||||
m.opts.Logger.Debug(m.opts.Context, fmt.Sprintf("Register removed service: %s, version: %s", s.Name, s.Version))
|
||||
}
|
||||
|
@@ -138,8 +138,6 @@ type ListOptions struct {
|
||||
Context context.Context
|
||||
// Namespace to scope the request to
|
||||
Namespace string
|
||||
// Name filter services by name
|
||||
Name string
|
||||
}
|
||||
|
||||
// NewListOptions returns list options filled by opts
|
||||
@@ -301,13 +299,6 @@ func ListNamespace(d string) ListOption {
|
||||
}
|
||||
}
|
||||
|
||||
// ListName sets the name for list method to filter needed services
|
||||
func ListName(n string) ListOption {
|
||||
return func(o *ListOptions) {
|
||||
o.Name = n
|
||||
}
|
||||
}
|
||||
|
||||
// Name sets the name
|
||||
func Name(n string) Option {
|
||||
return func(o *Options) {
|
||||
@@ -315,8 +306,6 @@ func Name(n string) Option {
|
||||
}
|
||||
}
|
||||
|
||||
type codecKey struct{}
|
||||
|
||||
func Codec(c codec.Codec) Option {
|
||||
return func(o *Options) {
|
||||
o.Codec = c
|
||||
|
@@ -15,31 +15,31 @@ type Watcher interface {
|
||||
// the watcher. Actions can be create, update, delete
|
||||
type Result struct {
|
||||
// Service holds register service
|
||||
Service *Service
|
||||
Service *Service `json:"service,omitempty"`
|
||||
// Action holds the action
|
||||
Action string
|
||||
Action EventType `json:"action,omitempty"`
|
||||
}
|
||||
|
||||
// EventType defines register event type
|
||||
type EventType int
|
||||
|
||||
const (
|
||||
// Create is emitted when a new service is registered
|
||||
Create EventType = iota
|
||||
// Delete is emitted when an existing service is deregistered
|
||||
Delete
|
||||
// Update is emitted when an existing service is updated
|
||||
Update
|
||||
// EventCreate is emitted when a new service is registered
|
||||
EventCreate EventType = iota
|
||||
// EventDelete is emitted when an existing service is deregistered
|
||||
EventDelete
|
||||
// EventUpdate is emitted when an existing service is updated
|
||||
EventUpdate
|
||||
)
|
||||
|
||||
// String returns human readable event type
|
||||
func (t EventType) String() string {
|
||||
switch t {
|
||||
case Create:
|
||||
case EventCreate:
|
||||
return "create"
|
||||
case Delete:
|
||||
case EventDelete:
|
||||
return "delete"
|
||||
case Update:
|
||||
case EventUpdate:
|
||||
return "update"
|
||||
default:
|
||||
return "unknown"
|
||||
@@ -49,11 +49,11 @@ func (t EventType) String() string {
|
||||
// Event is register event
|
||||
type Event struct {
|
||||
// Timestamp is event timestamp
|
||||
Timestamp time.Time
|
||||
Timestamp time.Time `json:"timestamp,omitempty"`
|
||||
// Service is register service
|
||||
Service *Service
|
||||
Service *Service `json:"service,omitempty"`
|
||||
// ID is register id
|
||||
ID string
|
||||
ID string `json:"id,omitempty"`
|
||||
// Type defines type of event
|
||||
Type EventType
|
||||
Type EventType `json:"type,omitempty"`
|
||||
}
|
||||
|
Reference in New Issue
Block a user