Index: net/quic/quic_server_packet_writer.cc |
diff --git a/net/quic/quic_server_packet_writer.cc b/net/quic/quic_server_packet_writer.cc |
deleted file mode 100644 |
index 38d93d96c5a30e966cc2e744770e29b5584c7ff6..0000000000000000000000000000000000000000 |
--- a/net/quic/quic_server_packet_writer.cc |
+++ /dev/null |
@@ -1,97 +0,0 @@ |
-// Copyright 2014 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/quic_server_packet_writer.h" |
- |
-#include "base/callback_helpers.h" |
-#include "base/location.h" |
-#include "base/logging.h" |
-#include "base/metrics/sparse_histogram.h" |
-#include "net/base/io_buffer.h" |
-#include "net/base/net_errors.h" |
-#include "net/udp/udp_server_socket.h" |
- |
-namespace net { |
- |
-QuicServerPacketWriter::QuicServerPacketWriter( |
- UDPServerSocket* socket, |
- QuicBlockedWriterInterface* blocked_writer) |
- : socket_(socket), |
- blocked_writer_(blocked_writer), |
- write_blocked_(false), |
- weak_factory_(this) { |
-} |
- |
-QuicServerPacketWriter::~QuicServerPacketWriter() { |
-} |
- |
-WriteResult QuicServerPacketWriter::WritePacketWithCallback( |
- const char* buffer, |
- size_t buf_len, |
- const IPAddressNumber& self_address, |
- const IPEndPoint& peer_address, |
- WriteCallback callback) { |
- DCHECK(callback_.is_null()); |
- callback_ = callback; |
- WriteResult result = WritePacket(buffer, buf_len, self_address, peer_address); |
- if (result.status != WRITE_STATUS_BLOCKED) { |
- callback_.Reset(); |
- } |
- return result; |
-} |
- |
-void QuicServerPacketWriter::OnWriteComplete(int rv) { |
- DCHECK_NE(rv, ERR_IO_PENDING); |
- write_blocked_ = false; |
- WriteResult result(rv < 0 ? WRITE_STATUS_ERROR : WRITE_STATUS_OK, rv); |
- base::ResetAndReturn(&callback_).Run(result); |
- blocked_writer_->OnCanWrite(); |
-} |
- |
-bool QuicServerPacketWriter::IsWriteBlockedDataBuffered() const { |
- // UDPServerSocket::SendTo buffers the data until the Write is permitted. |
- return true; |
-} |
- |
-bool QuicServerPacketWriter::IsWriteBlocked() const { |
- return write_blocked_; |
-} |
- |
-void QuicServerPacketWriter::SetWritable() { |
- write_blocked_ = false; |
-} |
- |
-WriteResult QuicServerPacketWriter::WritePacket( |
- const char* buffer, |
- size_t buf_len, |
- const IPAddressNumber& self_address, |
- const IPEndPoint& peer_address) { |
- scoped_refptr<StringIOBuffer> buf( |
- new StringIOBuffer(std::string(buffer, buf_len))); |
- DCHECK(!IsWriteBlocked()); |
- DCHECK(!callback_.is_null()); |
- int rv; |
- if (buf_len <= static_cast<size_t>(std::numeric_limits<int>::max())) { |
- rv = socket_->SendTo(buf.get(), |
- static_cast<int>(buf_len), |
- peer_address, |
- base::Bind(&QuicServerPacketWriter::OnWriteComplete, |
- weak_factory_.GetWeakPtr())); |
- } else { |
- rv = ERR_MSG_TOO_BIG; |
- } |
- WriteStatus status = WRITE_STATUS_OK; |
- if (rv < 0) { |
- if (rv != ERR_IO_PENDING) { |
- UMA_HISTOGRAM_SPARSE_SLOWLY("Net.QuicSession.WriteError", -rv); |
- status = WRITE_STATUS_ERROR; |
- } else { |
- status = WRITE_STATUS_BLOCKED; |
- write_blocked_ = true; |
- } |
- } |
- return WriteResult(status, rv); |
-} |
- |
-} // namespace net |