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

Unified Diff: net/quic/quartc/quartc_packet_writer.cc

Issue 2324833004: Define Stable API for WebRTC/Quartc (Closed)
Patch Set: Fix the issues when testing with WebRTC. Created 4 years, 2 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/quartc/quartc_packet_writer.cc
diff --git a/net/quic/quartc/quartc_packet_writer.cc b/net/quic/quartc/quartc_packet_writer.cc
new file mode 100644
index 0000000000000000000000000000000000000000..dd8c8d75e5729a113eb28aa58d5fa6c9a51c05e9
--- /dev/null
+++ b/net/quic/quartc/quartc_packet_writer.cc
@@ -0,0 +1,45 @@
+// Copyright (c) 2016 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "net/quic/quartc/quartc_packet_writer.h"
+
+namespace net {
+
+QuartcPacketWriter::QuartcPacketWriter(
+ QuartcSessionInterface::PacketTransport* packet_transport)
+ : packet_transport_(packet_transport) {}
+
+WriteResult QuartcPacketWriter::WritePacket(const char* buffer,
+ size_t buf_len,
+ const IPAddress& self_address,
+ const IPEndPoint& peer_address,
+ PerPacketOptions* options) {
+ DCHECK(packet_transport_);
+ int bytes_written = packet_transport_->Write(buffer, buf_len);
+ if (bytes_written <= 0) {
+ return WriteResult(WRITE_STATUS_BLOCKED, EWOULDBLOCK);
+ }
+ return WriteResult(WRITE_STATUS_OK, bytes_written);
+}
+
+bool QuartcPacketWriter::IsWriteBlockedDataBuffered() const {
+ return false;
+}
+
+bool QuartcPacketWriter::IsWriteBlocked() const {
+ DCHECK(packet_transport_);
+ return !packet_transport_->CanWrite();
+}
+
+// TODO(zhihuang) To figure out what is the better value to return. The
pthatcher1 2016/10/14 18:59:00 "To figure out" => Figure out
zhihuang1 2016/10/16 00:45:28 Done.
+// transport in WebRTC network layer may become the bottleneck when determining
+// the MTU.
pthatcher1 2016/10/14 18:59:00 We should probably make this an option in the Quar
zhihuang1 2016/10/16 00:45:28 Agreed. This is a good point. Because the PacketT
+QuicByteCount QuartcPacketWriter::GetMaxPacketSize(
+ const IPEndPoint& peer_address) const {
+ return kMaxPacketSize;
+}
+
+void QuartcPacketWriter::SetWritable() {}
+
+} // namespace net

Powered by Google App Engine
This is Rietveld 408576698