commit
94dde38880
@ -67,12 +67,11 @@ func (s *Server) Register(name string, methods map[string]Method) {
|
|||||||
s.services.register(name, methods)
|
s.services.register(name, methods)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *Server) Serve(l net.Listener) error {
|
func (s *Server) Serve(ctx context.Context, l net.Listener) error {
|
||||||
s.addListener(l)
|
s.addListener(l)
|
||||||
defer s.closeListener(l)
|
defer s.closeListener(l)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
ctx = context.Background()
|
|
||||||
backoff time.Duration
|
backoff time.Duration
|
||||||
handshaker = s.config.handshaker
|
handshaker = s.config.handshaker
|
||||||
)
|
)
|
||||||
|
@ -107,7 +107,7 @@ func TestServer(t *testing.T) {
|
|||||||
|
|
||||||
registerTestingService(server, testImpl)
|
registerTestingService(server, testImpl)
|
||||||
|
|
||||||
go server.Serve(listener)
|
go server.Serve(ctx, listener)
|
||||||
defer server.Shutdown(ctx)
|
defer server.Shutdown(ctx)
|
||||||
|
|
||||||
const calls = 2
|
const calls = 2
|
||||||
@ -134,7 +134,7 @@ func TestServerNotFound(t *testing.T) {
|
|||||||
defer cleanup()
|
defer cleanup()
|
||||||
defer listener.Close()
|
defer listener.Close()
|
||||||
go func() {
|
go func() {
|
||||||
errs <- server.Serve(listener)
|
errs <- server.Serve(ctx, listener)
|
||||||
}()
|
}()
|
||||||
|
|
||||||
var tp testPayload
|
var tp testPayload
|
||||||
@ -156,13 +156,14 @@ func TestServerNotFound(t *testing.T) {
|
|||||||
|
|
||||||
func TestServerListenerClosed(t *testing.T) {
|
func TestServerListenerClosed(t *testing.T) {
|
||||||
var (
|
var (
|
||||||
|
ctx = context.Background()
|
||||||
server = mustServer(t)(NewServer())
|
server = mustServer(t)(NewServer())
|
||||||
_, listener = newTestListener(t)
|
_, listener = newTestListener(t)
|
||||||
errs = make(chan error, 1)
|
errs = make(chan error, 1)
|
||||||
)
|
)
|
||||||
|
|
||||||
go func() {
|
go func() {
|
||||||
errs <- server.Serve(listener)
|
errs <- server.Serve(ctx, listener)
|
||||||
}()
|
}()
|
||||||
|
|
||||||
if err := listener.Close(); err != nil {
|
if err := listener.Close(); err != nil {
|
||||||
@ -211,7 +212,7 @@ func TestServerShutdown(t *testing.T) {
|
|||||||
})
|
})
|
||||||
|
|
||||||
go func() {
|
go func() {
|
||||||
serveErrs <- server.Serve(listener)
|
serveErrs <- server.Serve(ctx, listener)
|
||||||
}()
|
}()
|
||||||
|
|
||||||
// send a series of requests that will get blocked
|
// send a series of requests that will get blocked
|
||||||
@ -254,6 +255,7 @@ func TestServerShutdown(t *testing.T) {
|
|||||||
|
|
||||||
func TestServerClose(t *testing.T) {
|
func TestServerClose(t *testing.T) {
|
||||||
var (
|
var (
|
||||||
|
ctx = context.Background()
|
||||||
server = mustServer(t)(NewServer())
|
server = mustServer(t)(NewServer())
|
||||||
_, listener = newTestListener(t)
|
_, listener = newTestListener(t)
|
||||||
startClose = make(chan struct{})
|
startClose = make(chan struct{})
|
||||||
@ -262,7 +264,7 @@ func TestServerClose(t *testing.T) {
|
|||||||
|
|
||||||
go func() {
|
go func() {
|
||||||
close(startClose)
|
close(startClose)
|
||||||
errs <- server.Serve(listener)
|
errs <- server.Serve(ctx, listener)
|
||||||
}()
|
}()
|
||||||
|
|
||||||
<-startClose
|
<-startClose
|
||||||
@ -289,7 +291,7 @@ func TestOversizeCall(t *testing.T) {
|
|||||||
defer cleanup()
|
defer cleanup()
|
||||||
defer listener.Close()
|
defer listener.Close()
|
||||||
go func() {
|
go func() {
|
||||||
errs <- server.Serve(listener)
|
errs <- server.Serve(ctx, listener)
|
||||||
}()
|
}()
|
||||||
|
|
||||||
registerTestingService(server, &testingServer{})
|
registerTestingService(server, &testingServer{})
|
||||||
@ -324,7 +326,7 @@ func TestClientEOF(t *testing.T) {
|
|||||||
defer cleanup()
|
defer cleanup()
|
||||||
defer listener.Close()
|
defer listener.Close()
|
||||||
go func() {
|
go func() {
|
||||||
errs <- server.Serve(listener)
|
errs <- server.Serve(ctx, listener)
|
||||||
}()
|
}()
|
||||||
|
|
||||||
registerTestingService(server, &testingServer{})
|
registerTestingService(server, &testingServer{})
|
||||||
@ -362,7 +364,7 @@ func TestUnixSocketHandshake(t *testing.T) {
|
|||||||
defer cleanup()
|
defer cleanup()
|
||||||
defer listener.Close()
|
defer listener.Close()
|
||||||
go func() {
|
go func() {
|
||||||
errs <- server.Serve(listener)
|
errs <- server.Serve(ctx, listener)
|
||||||
}()
|
}()
|
||||||
|
|
||||||
registerTestingService(server, &testingServer{})
|
registerTestingService(server, &testingServer{})
|
||||||
@ -389,7 +391,7 @@ func BenchmarkRoundTrip(b *testing.B) {
|
|||||||
|
|
||||||
registerTestingService(server, testImpl)
|
registerTestingService(server, testImpl)
|
||||||
|
|
||||||
go server.Serve(listener)
|
go server.Serve(ctx, listener)
|
||||||
defer server.Shutdown(ctx)
|
defer server.Shutdown(ctx)
|
||||||
|
|
||||||
var tp testPayload
|
var tp testPayload
|
||||||
@ -421,7 +423,7 @@ func BenchmarkRoundTripUnixSocketCreds(b *testing.B) {
|
|||||||
|
|
||||||
registerTestingService(server, testImpl)
|
registerTestingService(server, testImpl)
|
||||||
|
|
||||||
go server.Serve(listener)
|
go server.Serve(ctx, listener)
|
||||||
defer server.Shutdown(ctx)
|
defer server.Shutdown(ctx)
|
||||||
|
|
||||||
var tp testPayload
|
var tp testPayload
|
||||||
|
Loading…
Reference in New Issue
Block a user