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

Unified Diff: net/quic/quic_connection_packet_writer_wrapper.cc

Issue 340433002: Port QuicServer to Chrome network stack (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Additional comments Created 6 years, 6 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 side-by-side diff with in-line comments
Download patch
Index: net/quic/quic_connection_packet_writer_wrapper.cc
diff --git a/net/tools/quic/quic_packet_writer_wrapper.cc b/net/quic/quic_connection_packet_writer_wrapper.cc
similarity index 26%
copy from net/tools/quic/quic_packet_writer_wrapper.cc
copy to net/quic/quic_connection_packet_writer_wrapper.cc
index 3d1b03d48e9cd8db0bbe4786f3c16680bce24fa8..bd57c08096b3fe5f0822d31d0a7c662d60ccee49 100644
--- a/net/tools/quic/quic_packet_writer_wrapper.cc
+++ b/net/quic/quic_connection_packet_writer_wrapper.cc
@@ -2,47 +2,56 @@
// 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_connection_packet_writer_wrapper.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) {}
+QuicConnectionPacketWriterWrapper::QuicConnectionPacketWriterWrapper(
+ QuicServerPacketWriter* writer,
+ QuicConnection* connection)
+ : weak_factory_(this),
+ writer_(writer),
+ connection_(connection) {
+}
-QuicPacketWriterWrapper::~QuicPacketWriterWrapper() {}
+QuicConnectionPacketWriterWrapper::~QuicConnectionPacketWriterWrapper() {
+}
-WriteResult QuicPacketWriterWrapper::WritePacket(
+WriteResult QuicConnectionPacketWriterWrapper::WritePacket(
const char* buffer,
size_t buf_len,
- const net::IPAddressNumber& self_address,
- const net::IPEndPoint& peer_address) {
+ const IPAddressNumber& self_address,
+ const IPEndPoint& peer_address) {
+ writer_->SetWriteCallback(
+ base::Bind(&QuicConnectionPacketWriterWrapper::OnWriteComplete,
+ weak_factory_.GetWeakPtr()));
return writer_->WritePacket(buffer, buf_len, self_address, peer_address);
Ryan Hamilton 2014/06/19 19:21:29 Instead of making this 2 distinct call, you could
dmz 2014/06/19 20:06:28 Done.
}
-bool QuicPacketWriterWrapper::IsWriteBlockedDataBuffered() const {
+bool QuicConnectionPacketWriterWrapper::IsWriteBlockedDataBuffered() const {
return writer_->IsWriteBlockedDataBuffered();
}
-bool QuicPacketWriterWrapper::IsWriteBlocked() const {
+bool QuicConnectionPacketWriterWrapper::IsWriteBlocked() const {
return writer_->IsWriteBlocked();
}
-void QuicPacketWriterWrapper::SetWritable() {
+void QuicConnectionPacketWriterWrapper::SetWritable() {
writer_->SetWritable();
}
-void QuicPacketWriterWrapper::set_writer(QuicPacketWriter* writer) {
- writer_.reset(writer);
-}
-
-QuicPacketWriter* QuicPacketWriterWrapper::release_writer() {
- return writer_.release();
+void QuicConnectionPacketWriterWrapper::OnWriteComplete(WriteResult wr) {
+ connection_->OnPacketSent(wr);
+ connection_->OnCanWrite();
}
-} // namespace tools
} // namespace net

Powered by Google App Engine
This is Rietveld 408576698