Documentation ¶
Overview ¶
Package grpc provides a Handler and client for agent gRPC connections.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ClientConnPool ¶
type ClientConnPool struct {
// contains filtered or unexported fields
}
ClientConnPool creates and stores a connection for each datacenter.
func NewClientConnPool ¶
func NewClientConnPool(servers ServerLocator, tls TLSWrapper) *ClientConnPool
func (*ClientConnPool) ClientConn ¶
func (c *ClientConnPool) ClientConn(datacenter string) (*grpc.ClientConn, error)
ClientConn returns a grpc.ClientConn for the datacenter. If there are no existing connections in the pool, a new one will be created, stored in the pool, then returned.
type Handler ¶
type Handler struct {
// contains filtered or unexported fields
}
Handler implements a handler for the rpc server listener, and the agent.Component interface for managing the lifecycle of the grpc.Server.
func NewHandler ¶
NewHandler returns a gRPC server that accepts connections from Handle(conn). The register function will be called with the grpc.Server to register gRPC services with the server.
type NoOpHandler ¶
type NoOpHandler struct {
Logger Logger
}
NoOpHandler implements the same methods as Handler, but performs no handling. It may be used in place of Handler to disable the grpc server.
func (NoOpHandler) Handle ¶
func (h NoOpHandler) Handle(conn net.Conn)
func (NoOpHandler) Run ¶
func (h NoOpHandler) Run() error
func (NoOpHandler) Shutdown ¶
func (h NoOpHandler) Shutdown() error
type ServerLocator ¶
type ServerLocator interface { // ServerForAddr is used to look up server metadata from an address. ServerForAddr(addr string) (*metadata.Server, error) // Scheme returns the url scheme to use to dial the server. This is primarily // needed for testing multiple agents in parallel, because gRPC requires the // resolver to be registered globally. Scheme() string }