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

Unified Diff: net/quic/quic_server_packet_writer.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_server_packet_writer.h
diff --git a/net/quic/quic_server_packet_writer.h b/net/quic/quic_server_packet_writer.h
index 63829935521019e5712e27410f70bbc38485ff40..c6a5a056add884919e0759751c68b5f26dc66b69 100644
--- a/net/quic/quic_server_packet_writer.h
+++ b/net/quic/quic_server_packet_writer.h
@@ -15,21 +15,30 @@
namespace net {
+class QuicDispatcher;
wtc 2014/06/18 02:04:47 Delete the unused forward declaration.
dmziegler 2014/06/18 20:13:42 Done.
struct WriteResult;
wtc 2014/06/18 02:04:47 I think this forward declaration can be removed. I
dmziegler 2014/06/18 20:13:41 Done.
+class QuicServerPacketWriterVisitor {
+ public:
+ virtual ~QuicServerPacketWriterVisitor() {}
+
+ virtual void OnCanWrite() {}
wtc 2014/06/18 02:04:47 Document this method. This method should be abstr
dmziegler 2014/06/18 20:13:42 (This got deleted)
+};
+
// Chrome specific packet writer which uses a UDPServerSocket for writing
// data.
class QuicServerPacketWriter : public QuicPacketWriter {
public:
QuicServerPacketWriter();
- explicit QuicServerPacketWriter(UDPServerSocket* socket);
+ QuicServerPacketWriter(QuicServerPacketWriterVisitor* visitor,
+ UDPServerSocket* socket);
virtual ~QuicServerPacketWriter();
// QuicPacketWriter
virtual WriteResult WritePacket(const char* buffer,
size_t buf_len,
- const net::IPAddressNumber& self_address,
- const net::IPEndPoint& peer_address) OVERRIDE;
+ const IPAddressNumber& self_address,
+ const IPEndPoint& peer_address) OVERRIDE;
virtual bool IsWriteBlockedDataBuffered() const OVERRIDE;
virtual bool IsWriteBlocked() const OVERRIDE;
virtual void SetWritable() OVERRIDE;
@@ -42,6 +51,7 @@ class QuicServerPacketWriter : public QuicPacketWriter {
private:
base::WeakPtrFactory<QuicServerPacketWriter> weak_factory_;
UDPServerSocket* socket_;
+ QuicServerPacketWriterVisitor* visitor_;
wtc 2014/06/18 02:04:47 Nit: the order of these two members should match t
dmziegler 2014/06/18 20:13:41 No longer in the constructor.
QuicConnection* connection_;
bool write_blocked_;

Powered by Google App Engine
This is Rietveld 408576698