Chromium Code Reviews| 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 |