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

Unified Diff: net/quic/quic_dispatcher.h

Issue 340433002: Port QuicServer to Chrome network stack (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix invalid memory access + blocked writers Created 6 years, 6 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
Index: net/quic/quic_dispatcher.h
diff --git a/net/quic/quic_dispatcher.h b/net/quic/quic_dispatcher.h
index 423afe64eb52a93acef4644982e6d439471af43e..d17c5a415437d343fcfaf28fc813b1147c1131d2 100644
--- a/net/quic/quic_dispatcher.h
+++ b/net/quic/quic_dispatcher.h
@@ -18,6 +18,7 @@
#include "net/quic/quic_blocked_writer_interface.h"
#include "net/quic/quic_connection_helper.h"
#include "net/quic/quic_protocol.h"
+#include "net/quic/quic_server_packet_writer.h"
#include "net/quic/quic_server_session.h"
#include "net/quic/quic_time_wait_list_manager.h"
@@ -46,7 +47,8 @@ class QuicDispatcherPeer;
class DeleteSessionsAlarm;
-class QuicDispatcher : public QuicServerSessionVisitor {
+class QuicDispatcher : public QuicServerSessionVisitor,
+ public QuicServerPacketWriterVisitor {
public:
// Ideally we'd have a linked_hash_set: the boolean is unused.
typedef linked_hash_map<QuicBlockedWriterInterface*, bool> WriteBlockedList;
@@ -63,7 +65,7 @@ class QuicDispatcher : public QuicServerSessionVisitor {
virtual ~QuicDispatcher();
// Takes ownership of the packet writer
- virtual void Initialize(QuicPacketWriter* writer);
+ virtual void Initialize(QuicServerPacketWriter* writer);
// Process the incoming packet by creating a new session, passing it to
// an existing session, or passing it to the TimeWaitListManager.
@@ -72,7 +74,7 @@ class QuicDispatcher : public QuicServerSessionVisitor {
const QuicEncryptedPacket& packet);
// Called when the socket becomes writable to allow queued writes to happen.
- virtual void OnCanWrite();
+ virtual void OnCanWrite() OVERRIDE;
wtc 2014/06/18 02:04:46 Add a comment to point out that this method is in
dmziegler 2014/06/18 20:13:40 Done (Is now QuicBlockedWriterInterface).
// Returns true if there's anything in the blocked writer list.
virtual bool HasPendingWrites() const;
@@ -116,7 +118,7 @@ class QuicDispatcher : public QuicServerSessionVisitor {
virtual QuicTimeWaitListManager* CreateQuicTimeWaitListManager();
// Replaces the packet writer with |writer|. Takes ownership of |writer|.
- void set_writer(QuicPacketWriter* writer) {
+ void set_writer(QuicServerPacketWriter* writer) {
writer_.reset(writer);
}
@@ -197,7 +199,7 @@ class QuicDispatcher : public QuicServerSessionVisitor {
std::list<QuicSession*> closed_session_list_;
// The writer to write to the socket with.
- scoped_ptr<QuicPacketWriter> writer_;
+ scoped_ptr<QuicServerPacketWriter> writer_;
// This vector contains QUIC versions which we currently support.
// This should be ordered such that the highest supported version is the first

Powered by Google App Engine
This is Rietveld 408576698