Chromium Code Reviews| 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 |