Merge pull request #27 from containerd/ctx

Add context to Serve
This commit is contained in:
Michael Crosby 2018-07-02 15:18:17 -04:00 committed by GitHub
commit 94dde38880
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 13 additions and 12 deletions

View File

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

View File

@ -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