From a9408321c767bb7e91e670471420edeae2f3b2d7 Mon Sep 17 00:00:00 2001 From: Jean de Klerk Date: Thu, 2 May 2019 14:20:28 -0600 Subject: [PATCH] internal: remove err from ClientTransport.GracefulClose (#2771) --- internal/transport/http2_client.go | 8 ++++---- internal/transport/transport.go | 2 +- internal/transport/transport_test.go | 4 +--- 3 files changed, 6 insertions(+), 8 deletions(-) diff --git a/internal/transport/http2_client.go b/internal/transport/http2_client.go index 9dee6db6..91e446fb 100644 --- a/internal/transport/http2_client.go +++ b/internal/transport/http2_client.go @@ -794,21 +794,21 @@ func (t *http2Client) Close() error { // stream is closed. If there are no active streams, the transport is closed // immediately. This does nothing if the transport is already draining or // closing. -func (t *http2Client) GracefulClose() error { +func (t *http2Client) GracefulClose() { t.mu.Lock() // Make sure we move to draining only from active. if t.state == draining || t.state == closing { t.mu.Unlock() - return nil + return } t.state = draining active := len(t.activeStreams) t.mu.Unlock() if active == 0 { - return t.Close() + t.Close() + return } t.controlBuf.put(&incomingGoAway{}) - return nil } // Write formats the data into HTTP2 data frame(s) and sends it out. The caller diff --git a/internal/transport/transport.go b/internal/transport/transport.go index 0600e504..846147a6 100644 --- a/internal/transport/transport.go +++ b/internal/transport/transport.go @@ -583,7 +583,7 @@ type ClientTransport interface { // finished, the transport will close. // // It does not block. - GracefulClose() error + GracefulClose() // Write sends the data for the given stream. A nil stream indicates // the write is to be performed on the transport as a whole. diff --git a/internal/transport/transport_test.go b/internal/transport/transport_test.go index baea6bef..f2e0d48c 100644 --- a/internal/transport/transport_test.go +++ b/internal/transport/transport_test.go @@ -1130,9 +1130,7 @@ func TestGracefulClose(t *testing.T) { if _, err := s.Read(recvMsg); err != nil { t.Fatalf("Error while reading: %v", err) } - if err = ct.GracefulClose(); err != nil { - t.Fatalf("GracefulClose() = %v, want ", err) - } + ct.GracefulClose() var wg sync.WaitGroup // Expect the failure for all the follow-up streams because ct has been closed gracefully. for i := 0; i < 200; i++ {