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.
This commit is contained in:
klzgrad 2018-01-25 12:58:24 +08:00
parent 532326bbc2
commit 6832fccfb6

View File

@ -514,6 +514,7 @@ void SpdyStream::OnDataReceived(std::unique_ptr<SpdyBuffer> 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|.