github.com/docker/engine@v22.0.0-20211208180946-d456264580cf+incompatible/libnetwork/hostdiscovery/hostdiscovery_api.go (about) 1 package hostdiscovery 2 3 import "net" 4 5 // JoinCallback provides a callback event for new node joining the cluster 6 type JoinCallback func(entries []net.IP) 7 8 // ActiveCallback provides a callback event for active discovery event 9 type ActiveCallback func() 10 11 // LeaveCallback provides a callback event for node leaving the cluster 12 type LeaveCallback func(entries []net.IP) 13 14 // HostDiscovery primary interface 15 type HostDiscovery interface { 16 //Watch Node join and leave cluster events 17 Watch(activeCallback ActiveCallback, joinCallback JoinCallback, leaveCallback LeaveCallback) error 18 // StopDiscovery stops the discovery process 19 StopDiscovery() error 20 // Fetch returns a list of host IPs that are currently discovered 21 Fetch() []net.IP 22 }