-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdiscovery.go
37 lines (26 loc) · 875 Bytes
/
discovery.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
// SPDX-License-Identifier: MIT
// SPDX-FileCopyrightText: 2023 werbenhu
// SPDX-FileContributor: werbenhu
package registry
// Auto-discover event notification interface
type Handler interface {
// OnMemberJoin is triggered when a new service is registered.
OnMemberJoin(*Member) error
// OnMemberLeave is triggered when a service leaves.
OnMemberLeave(*Member) error
// OnMemberUpdate is triggered when a service is updated.
OnMemberUpdate(*Member) error
}
// Auto-discover interface.
type Discovery interface {
// SetHandler sets the event processing handler when new services are discovered.
SetHandler(Handler)
// Members returns the members of all services.
Members() []*Member
// LocalMember returns the current service.
LocalMember() *Member
// Start starts the discovery service.
Start() error
// Stop stops the discovery service.
Stop()
}