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

Unified Diff: net/tools/quic/quic_dispatcher.h

Issue 2132623002: Landing Recent QUIC changes until 2016-07-02 02:45 UTC (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Removing comment about RPCs Created 4 years, 5 months 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 | « net/tools/quic/quic_client_bin.cc ('k') | net/tools/quic/quic_dispatcher.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/tools/quic/quic_dispatcher.h
diff --git a/net/tools/quic/quic_dispatcher.h b/net/tools/quic/quic_dispatcher.h
index db972530435ba65b8951d40310ce5f0828864dd7..3d4093d4ab76fe69c309d489cebe32bddb99db15 100644
--- a/net/tools/quic/quic_dispatcher.h
+++ b/net/tools/quic/quic_dispatcher.h
@@ -18,6 +18,7 @@
#include "net/quic/crypto/quic_compressed_certs_cache.h"
#include "net/quic/crypto/quic_random.h"
#include "net/quic/quic_blocked_writer_interface.h"
+#include "net/quic/quic_buffered_packet_store.h"
#include "net/quic/quic_connection.h"
#include "net/quic/quic_protocol.h"
#include "net/quic/quic_server_session_base.h"
@@ -37,7 +38,8 @@ class QuicDispatcherPeer;
class QuicDispatcher : public QuicServerSessionBase::Visitor,
public ProcessPacketInterface,
public QuicBlockedWriterInterface,
- public QuicFramerVisitorInterface {
+ public QuicFramerVisitorInterface,
+ public QuicBufferedPacketStore::VisitorInterface {
public:
// Ideally we'd have a linked_hash_set: the boolean is unused.
typedef linked_hash_map<QuicBlockedWriterInterface*,
@@ -139,6 +141,11 @@ class QuicDispatcher : public QuicServerSessionBase::Visitor,
bool OnPathCloseFrame(const QuicPathCloseFrame& frame) override;
void OnPacketComplete() override;
+ // QuicBufferedPacketStore::VisitorInterface
+ void OnExpiredPackets(QuicConnectionId connection_id,
+ QuicBufferedPacketStore::BufferedPacketList
+ early_arrived_packets) override;
+
protected:
virtual QuicServerSessionBase* CreateQuicSession(
QuicConnectionId connection_id,
@@ -275,6 +282,10 @@ class QuicDispatcher : public QuicServerSessionBase::Visitor,
// The writer to write to the socket with.
std::unique_ptr<QuicPacketWriter> writer_;
+ // Undecryptable packets which are buffered until a connection can be
+ // created to handle them.
+ QuicBufferedPacketStore buffered_packets_;
+
// This vector contains QUIC versions which we currently support.
// This should be ordered such that the highest supported version is the first
// element, with subsequent elements in descending order (versions can be
« no previous file with comments | « net/tools/quic/quic_client_bin.cc ('k') | net/tools/quic/quic_dispatcher.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698