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")