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..77121131cb8f7498118a261c707941861735f9ca |
--- /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::Transport* transport) |
+ : transport_(transport) {} |
+ |
+WriteResult QuartcPacketWriter::WritePacket(const char* buffer, |
+ size_t buf_len, |
+ const IPAddress& self_address, |
+ const IPEndPoint& peer_address, |
+ PerPacketOptions* options) { |
+ DCHECK(transport_); |
+ int bytes_written = 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(transport_); |
+ return !transport_->CanWrite(); |
+} |
+ |
+// TODO(zhihuang) To figure out what is the better value to return. The |
+// transport in WebRTC network layer may become the bottleneck when determining |
+// the MTU. |
+QuicByteCount QuartcPacketWriter::GetMaxPacketSize( |
+ const IPEndPoint& peer_address) const { |
+ return kMaxPacketSize; |
pthatcher2
2016/10/05 22:12:06
We may want to drop it somewhat so that TURN encap
zhihuang1
2016/10/13 06:22:40
Make it half?
pthatcher1
2016/10/14 18:58:58
No, that's way too drastic. I looked into our cur
|
+} |
+ |
+void QuartcPacketWriter::SetWritable() {} |
+ |
+} // namespace net |