raftselector.go 599 B

1234567891011121314151617181920
  1. package raftselector
  2. import (
  3. "errors"
  4. "golang.org/x/net/context"
  5. "google.golang.org/grpc"
  6. )
  7. // ConnProvider is basic interface for connecting API package(raft proxy in particular)
  8. // to manager/state/raft package without import cycles. It provides only one
  9. // method for obtaining connection to leader.
  10. type ConnProvider interface {
  11. LeaderConn(ctx context.Context) (*grpc.ClientConn, error)
  12. }
  13. // ErrIsLeader is returned from LeaderConn method when current machine is leader.
  14. // It's just shim between packages to avoid import cycles.
  15. var ErrIsLeader = errors.New("current node is leader")