Chromium Code Reviews| Index: net/spdy/spdy_stream.h |
| diff --git a/net/spdy/spdy_stream.h b/net/spdy/spdy_stream.h |
| index 4c01e0cecef2c2234fdf9eea32b4a8a4fe4a1c93..6b2f5bb009e9639f8cde4a1cba0e426cb3f07085 100644 |
| --- a/net/spdy/spdy_stream.h |
| +++ b/net/spdy/spdy_stream.h |
| @@ -54,10 +54,14 @@ enum SpdySendStatus { |
| }; |
| // Returned by SpdyStream::OnResponseHeadersUpdated() to indicate |
| -// whether the current response headers are complete or not. |
| +// whether the current response headers are complete or not, or whether |
| +// trailers have been received. TRAILERS_RECEIVED denotes the state where |
| +// headers are received after DATA frames, and this state also implies that |
| +// response headers are complete. |
|
Ryan Hamilton
2015/08/10 22:37:38
It looks like (from comments in the .cc file) that
xunjieli
2015/08/11 15:07:14
Done.
|
| enum SpdyResponseHeadersStatus { |
| RESPONSE_HEADERS_ARE_INCOMPLETE, |
| - RESPONSE_HEADERS_ARE_COMPLETE |
| + RESPONSE_HEADERS_ARE_COMPLETE, |
| + TRAILERS_RECEIVED, |
| }; |
| // The SpdyStream is used by the SpdySession to represent each stream known |
| @@ -119,8 +123,6 @@ class NET_EXPORT_PRIVATE SpdyStream { |
| // before any data is received; any deviation from this is |
| // treated as a protocol error. |
| // |
| - // TODO(akalin): Treat headers received after data has been |
| - // received as a protocol error for non-bidirectional streams. |
| // TODO(jgraettinger): This should be at the semantic (HTTP) rather |
| // than stream layer. Streams shouldn't have a notion of header |
| // completeness. Move to SpdyHttpStream/SpdyWebsocketStream. |
| @@ -139,6 +141,11 @@ class NET_EXPORT_PRIVATE SpdyStream { |
| // closed. |
| virtual void OnDataSent() = 0; |
| + // Called when trailers are received. Note that trailers HEADER frame will |
| + // have END_STREAM flag set according to section 8.1 of the HTTP/2 RFC, |
| + // so this will be followed by OnClose. |
| + virtual void OnTrailers(const SpdyHeaderBlock& trailers) = 0; |
| + |
| // Called when SpdyStream is closed. No other delegate functions |
| // will be called after this is called, and the delegate must not |
| // access the stream after this is called. Must not cause the |