| 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"
|
| +#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) {
|
| + connection_->OnPacketSent(wr);
|
| }
|
|
|
| -} // namespace tools
|
| } // namespace net
|
|
|