From 8ba4cfee3f9edc35b9cb806cf1f652707f828798 Mon Sep 17 00:00:00 2001 From: klzgrad Date: Wed, 24 Jan 2018 23:58:24 -0500 Subject: [PATCH] h2: Notify delegate about read EOF So the delegate can close the socket instead of keeping sending data. Read EOF or h2 half-closed (remote) state was introduced in https://codereview.chromium.org/129543002. But StreamSocket doesnt really supports a half closed state, so upon a read EOF the only sane action is to close the socket immediately even if in theory more send is possible. --- src/net/spdy/spdy_stream.cc | 1 + 1 file changed, 1 insertion(+) diff --git a/src/net/spdy/spdy_stream.cc b/src/net/spdy/spdy_stream.cc index 804ee2c067..abc9407e48 100644 --- a/src/net/spdy/spdy_stream.cc +++ b/src/net/spdy/spdy_stream.cc @@ -546,6 +546,7 @@ void SpdyStream::OnDataReceived(std::unique_ptr buffer) { if (!buffer) { if (io_state_ == STATE_OPEN) { io_state_ = STATE_HALF_CLOSED_REMOTE; + delegate_->OnDataReceived(nullptr); } else if (io_state_ == STATE_HALF_CLOSED_LOCAL) { io_state_ = STATE_CLOSED; // Deletes |this|.