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-24 23:58:24 -05:00
parent 6ec8ac251f
commit b9f9cbd977

View File

@ -545,6 +545,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|.