Index: net/quic/quic_per_connection_packet_writer.h |
diff --git a/net/quic/quic_per_connection_packet_writer.h b/net/quic/quic_per_connection_packet_writer.h |
index 96a37b61d6fe18d02638b04e1b5df298e76252e9..e88a37d6ad9d17489e732b6c18f0780ddc8594df 100644 |
--- a/net/quic/quic_per_connection_packet_writer.h |
+++ b/net/quic/quic_per_connection_packet_writer.h |
@@ -5,13 +5,9 @@ |
#ifndef NET_QUIC_QUIC_PER_CONNECTION_PACKET_WRITER_H_ |
#define NET_QUIC_QUIC_PER_CONNECTION_PACKET_WRITER_H_ |
-#include "base/basictypes.h" |
#include "base/memory/weak_ptr.h" |
-#include "net/base/ip_endpoint.h" |
#include "net/quic/quic_connection.h" |
#include "net/quic/quic_packet_writer.h" |
-#include "net/quic/quic_protocol.h" |
-#include "net/quic/quic_types.h" |
namespace net { |
@@ -21,16 +17,18 @@ class QuicServerPacketWriter; |
// writes to the shared QuicServerPacketWriter complete. |
// This class is necessary because multiple connections can share the same |
// QuicServerPacketWriter, so it has no way to know which connection to notify. |
-// TODO(dmz) Try to merge with Chrome's default packet writer |
class QuicPerConnectionPacketWriter : public QuicPacketWriter { |
public: |
- QuicPerConnectionPacketWriter(QuicServerPacketWriter* writer); |
+ // Does not take ownership of |shared_writer| or |connection|. |
+ QuicPerConnectionPacketWriter(QuicServerPacketWriter* shared_writer, |
+ QuicConnection* connection); |
virtual ~QuicPerConnectionPacketWriter(); |
- // Set the connection to notify after writes complete. |
- void set_connection(QuicConnection* connection) { connection_ = connection; } |
+ QuicPacketWriter* shared_writer() const; |
+ QuicConnection* connection() const { return connection_; } |
- // QuicPacketWriter |
+ // Default implementation of the QuicPacketWriter interface: Passes everything |
+ // to |shared_writer_|. |
virtual WriteResult WritePacket(const char* buffer, |
size_t buf_len, |
const IPAddressNumber& self_address, |
@@ -43,8 +41,8 @@ class QuicPerConnectionPacketWriter : public QuicPacketWriter { |
void OnWriteComplete(WriteResult result); |
base::WeakPtrFactory<QuicPerConnectionPacketWriter> weak_factory_; |
- QuicServerPacketWriter* writer_; // Not owned. |
- QuicConnection* connection_; |
+ QuicServerPacketWriter* shared_writer_; // Not owned. |
+ QuicConnection* connection_; // Not owned. |
DISALLOW_COPY_AND_ASSIGN(QuicPerConnectionPacketWriter); |
}; |