naiveproxy/net/quic/quartc/quartc_packet_writer.cc

45 lines
1.3 KiB
C++
Raw Normal View History

2018-01-28 19:30:36 +03:00
// Copyright (c) 2017 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,
QuicByteCount max_packet_size)
: packet_transport_(packet_transport), max_packet_size_(max_packet_size) {}
WriteResult QuartcPacketWriter::WritePacket(
const char* buffer,
size_t buf_len,
const QuicIpAddress& self_address,
const QuicSocketAddress& 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();
}
QuicByteCount QuartcPacketWriter::GetMaxPacketSize(
const QuicSocketAddress& peer_address) const {
return max_packet_size_;
}
void QuartcPacketWriter::SetWritable() {}
} // namespace net