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 23% |
copy from net/tools/quic/quic_packet_writer_wrapper.cc |
copy to net/quic/quic_per_connection_packet_writer.cc |
index 3d1b03d48e9cd8db0bbe4786f3c16680bce24fa8..8271aaf29361ef45e54471f56101a080bac16da2 100644 |
--- a/net/tools/quic/quic_packet_writer_wrapper.cc |
+++ b/net/quic/quic_per_connection_packet_writer.cc |
@@ -2,47 +2,55 @@ |
// 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_types.h" |
+#include "base/location.h" |
+#include "base/logging.h" |
+#include "base/message_loop/message_loop.h" |
+#include "base/metrics/sparse_histogram.h" |
+#include "net/base/io_buffer.h" |
+#include "net/base/net_errors.h" |
+#include "net/quic/crypto/quic_random.h" |
wtc
2014/06/23 23:12:16
We don't need many of these headers.
I remember y
dmziegler
2014/06/24 00:08:52
Strange, seems so. Removed.
|
+#include "net/quic/quic_server_packet_writer.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 wr) { |
wtc
2014/06/23 23:12:15
Rename "wr" to "result".
dmziegler
2014/06/24 00:08:52
Done.
|
+ connection_->OnPacketSent(wr); |
} |
-} // namespace tools |
} // namespace net |