4 "github.com/docker/docker/api/types/network"
5 "golang.org/x/net/context"
9 // EventSocketChange control socket changed
10 EventSocketChange = iota
11 // EventNodeReady cluster node in ready state
13 // EventNodeLeave node is leaving the cluster
15 // EventNetworkKeysAvailable network keys correctly configured in the networking layer
16 EventNetworkKeysAvailable
19 // ConfigEventType type of the event produced by the cluster
20 type ConfigEventType uint8
22 // Provider provides clustering config details
23 type Provider interface {
26 GetLocalAddress() string
27 GetListenAddress() string
28 GetAdvertiseAddress() string
29 GetDataPathAddress() string
30 GetRemoteAddressList() []string
31 ListenClusterEvents() <-chan ConfigEventType
32 AttachNetwork(string, string, []string) (*network.NetworkingConfig, error)
33 DetachNetwork(string, string) error
34 UpdateAttachment(string, string, *network.NetworkingConfig) error
35 WaitForDetachment(context.Context, string, string, string, string) error