Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(644)

Unified Diff: net/quic/quic_session.h

Issue 11661002: Move VisitorShim from QuicServerSession to QuicSession. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase Created 8 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | net/quic/quic_session.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/quic/quic_session.h
diff --git a/net/quic/quic_session.h b/net/quic/quic_session.h
index 4b03e256f0585f4d717100e8b2c2f1addc1e8f44..4841627f306996cbb5e75f03362201dc077271c5 100644
--- a/net/quic/quic_session.h
+++ b/net/quic/quic_session.h
@@ -22,6 +22,7 @@ namespace net {
class QuicCryptoStream;
class ReliableQuicStream;
+class VisitorShim;
namespace test {
class QuicSessionPeer;
@@ -111,13 +112,26 @@ class NET_EXPORT_PRIVATE QuicSession : public QuicConnectionVisitorInterface {
private:
friend class test::QuicSessionPeer;
+ friend class VisitorShim;
typedef base::hash_map<QuicStreamId, ReliableQuicStream*> ReliableStreamMap;
ReliableQuicStream* GetStream(const QuicStreamId stream_id);
+ // This is called after every call other than OnConnectionClose from the
+ // QuicConnectionVisitor to allow post-processing once the work has been done.
+ // In this case, it deletes streams given that it's safe to do so (no other
+ // opterations are being done on the streams at this time)
+ void PostProcessAfterData();
+
scoped_ptr<QuicConnection> connection_;
+ // A shim to stand between the connection and the session, to handle stream
+ // deletions.
+ scoped_ptr<VisitorShim> visitor_shim_;
+
+ std::vector<ReliableQuicStream*> closed_streams_;
+
// Returns the maximum number of streams this connection can open.
const size_t max_open_streams_;
« no previous file with comments | « no previous file | net/quic/quic_session.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698