Index: net/quic/quic_per_connection_packet_writer.cc |
diff --git a/net/tools/quic/quic_packet_writer_wrapper.cc b/net/quic/quic_per_connection_packet_writer.cc |
similarity index 29% |
copy from net/tools/quic/quic_packet_writer_wrapper.cc |
copy to net/quic/quic_per_connection_packet_writer.cc |
index 3d1b03d48e9cd8db0bbe4786f3c16680bce24fa8..6347bc201df632e68de7aac05a19a63584179edf 100644 |
--- a/net/tools/quic/quic_packet_writer_wrapper.cc |
+++ b/net/quic/quic_per_connection_packet_writer.cc |
@@ -2,47 +2,49 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-#include "net/tools/quic/quic_packet_writer_wrapper.h" |
+#include "net/quic/quic_per_connection_packet_writer.h" |
+#include "net/quic/quic_server_packet_writer.h" |
#include "net/quic/quic_types.h" |
namespace net { |
-namespace tools { |
-QuicPacketWriterWrapper::QuicPacketWriterWrapper() {} |
- |
-QuicPacketWriterWrapper::QuicPacketWriterWrapper(QuicPacketWriter* writer) |
- : writer_(writer) {} |
+QuicPerConnectionPacketWriter::QuicPerConnectionPacketWriter( |
+ QuicServerPacketWriter* writer) |
+ : weak_factory_(this), writer_(writer) { |
+} |
-QuicPacketWriterWrapper::~QuicPacketWriterWrapper() {} |
+QuicPerConnectionPacketWriter::~QuicPerConnectionPacketWriter() { |
+} |
-WriteResult QuicPacketWriterWrapper::WritePacket( |
+WriteResult QuicPerConnectionPacketWriter::WritePacket( |
const char* buffer, |
size_t buf_len, |
- const net::IPAddressNumber& self_address, |
- const net::IPEndPoint& peer_address) { |
- return writer_->WritePacket(buffer, buf_len, self_address, peer_address); |
+ const IPAddressNumber& self_address, |
+ const IPEndPoint& peer_address) { |
+ return writer_->WritePacketWithCallback( |
+ buffer, |
+ buf_len, |
+ self_address, |
+ peer_address, |
+ base::Bind(&QuicPerConnectionPacketWriter::OnWriteComplete, |
+ weak_factory_.GetWeakPtr())); |
} |
-bool QuicPacketWriterWrapper::IsWriteBlockedDataBuffered() const { |
+bool QuicPerConnectionPacketWriter::IsWriteBlockedDataBuffered() const { |
return writer_->IsWriteBlockedDataBuffered(); |
} |
-bool QuicPacketWriterWrapper::IsWriteBlocked() const { |
+bool QuicPerConnectionPacketWriter::IsWriteBlocked() const { |
return writer_->IsWriteBlocked(); |
} |
-void QuicPacketWriterWrapper::SetWritable() { |
+void QuicPerConnectionPacketWriter::SetWritable() { |
writer_->SetWritable(); |
} |
-void QuicPacketWriterWrapper::set_writer(QuicPacketWriter* writer) { |
- writer_.reset(writer); |
-} |
- |
-QuicPacketWriter* QuicPacketWriterWrapper::release_writer() { |
- return writer_.release(); |
+void QuicPerConnectionPacketWriter::OnWriteComplete(WriteResult result) { |
+ connection_->OnPacketSent(result); |
} |
-} // namespace tools |
} // namespace net |