diff options
| author | xunjieli <xunjieli@chromium.org> | 2016-03-11 16:17:25 -0800 |
|---|---|---|
| committer | Commit bot <commit-bot@chromium.org> | 2016-03-12 00:18:48 +0000 |
| commit | 188bd40f723812b8a718195fdc5af274c21891e4 (patch) | |
| tree | 4ccb2f07c9a8cf78b3bcdde27e4ac7b1dcbd485a /net/quic/quic_spdy_stream.h | |
| parent | 8c5ee7703eed1efa0a5f1bd532c3ac9c7f8e9242 (diff) | |
| download | chromium_src-188bd40f723812b8a718195fdc5af274c21891e4.zip chromium_src-188bd40f723812b8a718195fdc5af274c21891e4.tar.gz chromium_src-188bd40f723812b8a718195fdc5af274c21891e4.tar.bz2 | |
Only MarkTrailersConsumed when actually sending trailers notification
MarkTrailersConsumed is currently done before the
notification is posted asynchronously. However, there might
be a pending read before that notification is executed but
after MarkTrailersConsumed, which leads to delegate
mistakenly to assume that the trailers are consumed.
This CL changes so that we MarkTrailersConsumed when we
actually will immediately notify delegate.
This CL also patches some internal trailers changes in
quic_spdy_stream.cc and quic_spdy_client_stream.cc.
BUG=586207
Review URL: https://codereview.chromium.org/1776423004
Cr-Commit-Position: refs/heads/master@{#380799}
Diffstat (limited to 'net/quic/quic_spdy_stream.h')
| -rw-r--r-- | net/quic/quic_spdy_stream.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/net/quic/quic_spdy_stream.h b/net/quic/quic_spdy_stream.h index 65304d6..a5adfe2 100644 --- a/net/quic/quic_spdy_stream.h +++ b/net/quic/quic_spdy_stream.h @@ -141,6 +141,11 @@ class NET_EXPORT_PRIVATE QuicSpdyStream : public ReliableQuicStream { return decompressed_trailers_; } + // Returns whatever trailers have been received for this stream. + const SpdyHeaderBlock& response_trailers() const { + return response_trailers_; + } + virtual SpdyPriority priority() const; // Sets priority_ to priority. This should only be called before bytes are @@ -182,6 +187,8 @@ class NET_EXPORT_PRIVATE QuicSpdyStream : public ReliableQuicStream { // Contains a copy of the decompressed trailers until they are consumed // via ProcessData or Readv. std::string decompressed_trailers_; + // The parsed trailers received from the peer. + SpdyHeaderBlock response_trailers_; DISALLOW_COPY_AND_ASSIGN(QuicSpdyStream); }; |
