github.com/kaisenlinux/docker.io@v0.0.0-20230510090727-ea55db55fac7/swarmkit/manager/raftselector/raftselector.go (about) 1 package raftselector 2 3 import ( 4 "context" 5 "errors" 6 7 "google.golang.org/grpc" 8 ) 9 10 // ConnProvider is basic interface for connecting API package(raft proxy in particular) 11 // to manager/state/raft package without import cycles. It provides only one 12 // method for obtaining connection to leader. 13 type ConnProvider interface { 14 LeaderConn(ctx context.Context) (*grpc.ClientConn, error) 15 } 16 17 // ErrIsLeader is returned from LeaderConn method when current machine is leader. 18 // It's just shim between packages to avoid import cycles. 19 var ErrIsLeader = errors.New("current node is leader")