Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(217)

Side by Side Diff: net/quic/quic_per_connection_packet_writer.cc

Issue 340433002: Port QuicServer to Chrome network stack (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Build quic_ported_server on other platforms too Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "net/tools/quic/quic_packet_writer_wrapper.h" 5 #include "net/quic/quic_per_connection_packet_writer.h"
6 6
7 #include "net/quic/quic_types.h" 7 #include "base/location.h"
8 #include "base/logging.h"
9 #include "base/message_loop/message_loop.h"
10 #include "base/metrics/sparse_histogram.h"
11 #include "net/base/io_buffer.h"
12 #include "net/base/net_errors.h"
13 #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.
14 #include "net/quic/quic_server_packet_writer.h"
8 15
9 namespace net { 16 namespace net {
10 namespace tools {
11 17
12 QuicPacketWriterWrapper::QuicPacketWriterWrapper() {} 18 QuicPerConnectionPacketWriter::QuicPerConnectionPacketWriter(
19 QuicServerPacketWriter* writer)
20 : weak_factory_(this), writer_(writer) {
21 }
13 22
14 QuicPacketWriterWrapper::QuicPacketWriterWrapper(QuicPacketWriter* writer) 23 QuicPerConnectionPacketWriter::~QuicPerConnectionPacketWriter() {
15 : writer_(writer) {} 24 }
16 25
17 QuicPacketWriterWrapper::~QuicPacketWriterWrapper() {} 26 WriteResult QuicPerConnectionPacketWriter::WritePacket(
18
19 WriteResult QuicPacketWriterWrapper::WritePacket(
20 const char* buffer, 27 const char* buffer,
21 size_t buf_len, 28 size_t buf_len,
22 const net::IPAddressNumber& self_address, 29 const IPAddressNumber& self_address,
23 const net::IPEndPoint& peer_address) { 30 const IPEndPoint& peer_address) {
24 return writer_->WritePacket(buffer, buf_len, self_address, peer_address); 31 return writer_->WritePacketWithCallback(
32 buffer,
33 buf_len,
34 self_address,
35 peer_address,
36 base::Bind(&QuicPerConnectionPacketWriter::OnWriteComplete,
37 weak_factory_.GetWeakPtr()));
25 } 38 }
26 39
27 bool QuicPacketWriterWrapper::IsWriteBlockedDataBuffered() const { 40 bool QuicPerConnectionPacketWriter::IsWriteBlockedDataBuffered() const {
28 return writer_->IsWriteBlockedDataBuffered(); 41 return writer_->IsWriteBlockedDataBuffered();
29 } 42 }
30 43
31 bool QuicPacketWriterWrapper::IsWriteBlocked() const { 44 bool QuicPerConnectionPacketWriter::IsWriteBlocked() const {
32 return writer_->IsWriteBlocked(); 45 return writer_->IsWriteBlocked();
33 } 46 }
34 47
35 void QuicPacketWriterWrapper::SetWritable() { 48 void QuicPerConnectionPacketWriter::SetWritable() {
36 writer_->SetWritable(); 49 writer_->SetWritable();
37 } 50 }
38 51
39 void QuicPacketWriterWrapper::set_writer(QuicPacketWriter* writer) { 52 void QuicPerConnectionPacketWriter::OnWriteComplete(WriteResult wr) {
wtc 2014/06/23 23:12:15 Rename "wr" to "result".
dmziegler 2014/06/24 00:08:52 Done.
40 writer_.reset(writer); 53 connection_->OnPacketSent(wr);
41 } 54 }
42 55
43 QuicPacketWriter* QuicPacketWriterWrapper::release_writer() {
44 return writer_.release();
45 }
46
47 } // namespace tools
48 } // namespace net 56 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698