Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Server ¶
type Server struct { // RawListener is the bound TCP listener of the Server. RawListener *net.TCPListener // CMux wraps RawListener to provide connection protocol multiplexing over // a single bound socket. gRPC and HTTP Listeners are provided by default. // Additional Listeners may be added directly via CMux.Match() -- though // it is then the user's responsibility to Serve the resulting Listeners. CMux cmux.CMux // GRPCListener is a CMux Listener for gRPC connections. GRPCListener net.Listener // HTTPListener is a CMux Listener for HTTP connections. HTTPListener net.Listener // HTTPMux is the http.ServeMux which is served by Serve(). HTTPMux *http.ServeMux // GRPCServer is the gRPC server mux which is served by Serve(). GRPCServer *grpc.Server // Ctx is cancelled when Server.GracefulStop is called. Ctx context.Context // contains filtered or unexported fields }
Server bundles gRPC & HTTP servers, multiplexed over a single bound TCP socket (using CMux). Additional protocols may be added to the Server by interacting directly with its provided CMux.
func New ¶
New builds and returns a Server of the given TCP network interface |iface| and |port|. |port| may be zero, in which case a random free port is assigned.
func (*Server) GRPCLoopback ¶
func (s *Server) GRPCLoopback() (*grpc.ClientConn, error)
GRPCLoopback dials and returns a connection to the local gRPC server.
func (*Server) MustGRPCLoopback ¶
func (s *Server) MustGRPCLoopback() *grpc.ClientConn
MustGRPCLoopback dials and returns a connection to the local gRPC server, and panics on error.
func (*Server) QueueTasks ¶
QueueTasks serving the CMux, HTTP, and gRPC component servers onto the task.Group. If additional Listeners are derived from the Server.CMux, attempts to Accept will block until the CMux itself begins serving.