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

Unified Diff: net/udp/fuzzed_datagram_client_socket.cc

Issue 2508593002: net: move udp directory into socket (Closed)
Patch Set: revert sys/socket.h change Created 4 years, 1 month 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
« no previous file with comments | « net/udp/fuzzed_datagram_client_socket.h ('k') | net/udp/udp_client_socket.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/udp/fuzzed_datagram_client_socket.cc
diff --git a/net/udp/fuzzed_datagram_client_socket.cc b/net/udp/fuzzed_datagram_client_socket.cc
deleted file mode 100644
index 944da35e0bdedb783af24c95bccb6172379dc4a2..0000000000000000000000000000000000000000
--- a/net/udp/fuzzed_datagram_client_socket.cc
+++ /dev/null
@@ -1,196 +0,0 @@
-// Copyright 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/udp/fuzzed_datagram_client_socket.h"
-
-#include <algorithm>
-
-#include "base/bind.h"
-#include "base/location.h"
-#include "base/logging.h"
-#include "base/strings/string_piece.h"
-#include "base/test/fuzzed_data_provider.h"
-#include "base/threading/thread_task_runner_handle.h"
-#include "net/base/io_buffer.h"
-#include "net/base/ip_address.h"
-#include "net/base/net_errors.h"
-
-namespace net {
-
-// Subset of network errors that can occur on each operation. Less clear cut
-// than TCP errors, so some of these may not actually be possible.
-const Error kConnectErrors[] = {ERR_FAILED, ERR_ADDRESS_UNREACHABLE,
- ERR_ACCESS_DENIED};
-const Error kReadErrors[] = {ERR_FAILED, ERR_ADDRESS_UNREACHABLE};
-const Error kWriteErrors[] = {ERR_FAILED, ERR_ADDRESS_UNREACHABLE,
- ERR_MSG_TOO_BIG};
-
-FuzzedDatagramClientSocket::FuzzedDatagramClientSocket(
- base::FuzzedDataProvider* data_provider)
- : data_provider_(data_provider), weak_factory_(this) {}
-
-FuzzedDatagramClientSocket::~FuzzedDatagramClientSocket() {}
-
-int FuzzedDatagramClientSocket::Connect(const IPEndPoint& address) {
- CHECK(!connected_);
-
- // Decide if the connect attempt succeeds.
- if (data_provider_->ConsumeBool()) {
- connected_ = true;
- remote_address_ = address;
- return OK;
- }
-
- // On failure, return a random connect error.
- return data_provider_->PickValueInArray(kConnectErrors);
-}
-
-int FuzzedDatagramClientSocket::ConnectUsingNetwork(
- NetworkChangeNotifier::NetworkHandle network,
- const IPEndPoint& address) {
- CHECK(!connected_);
- return ERR_NOT_IMPLEMENTED;
-}
-
-int FuzzedDatagramClientSocket::FuzzedDatagramClientSocket::
- ConnectUsingDefaultNetwork(const IPEndPoint& address) {
- CHECK(!connected_);
- return ERR_NOT_IMPLEMENTED;
-}
-
-NetworkChangeNotifier::NetworkHandle
-FuzzedDatagramClientSocket::GetBoundNetwork() const {
- return NetworkChangeNotifier::kInvalidNetworkHandle;
-}
-
-void FuzzedDatagramClientSocket::Close() {
- connected_ = false;
- read_pending_ = false;
- write_pending_ = false;
- remote_address_ = IPEndPoint();
- weak_factory_.InvalidateWeakPtrs();
-}
-
-int FuzzedDatagramClientSocket::GetPeerAddress(IPEndPoint* address) const {
- if (!connected_)
- return ERR_SOCKET_NOT_CONNECTED;
- *address = remote_address_;
- return OK;
-}
-
-int FuzzedDatagramClientSocket::GetLocalAddress(IPEndPoint* address) const {
- if (!connected_)
- return ERR_SOCKET_NOT_CONNECTED;
- *address = IPEndPoint(IPAddress(1, 2, 3, 4), 43210);
- return OK;
-}
-
-void FuzzedDatagramClientSocket::UseNonBlockingIO() {}
-
-const NetLogWithSource& FuzzedDatagramClientSocket::NetLog() const {
- return net_log_;
-}
-
-int FuzzedDatagramClientSocket::Read(IOBuffer* buf,
- int buf_len,
- const CompletionCallback& callback) {
- CHECK(!callback.is_null());
- CHECK_GT(buf_len, 0);
- CHECK(!read_pending_);
-
- // Normally calling this on disconnected sockets is allowed, but code really
- // shouldn't be doing this. If it is, it's best to figure out why, and fix
- // it. Note that |connected_| is only set to false on calls to Close(), not on
- // errors.
- CHECK(connected_);
-
- // Get contents of response.
- std::string data(data_provider_->ConsumeBytes(
- data_provider_->ConsumeUint32InRange(0, buf_len)));
-
- int result;
- if (data.size() > 0) {
- // If the response is not empty, consider it a successful read.
- result = data.size();
- std::copy(data.begin(), data.end(), buf->data());
- } else {
- // If the response is empty, pick a random read error.
- result = data_provider_->PickValueInArray(kReadErrors);
- }
-
- // Decide if result should be returned synchronously.
- if (data_provider_->ConsumeBool())
- return result;
-
- read_pending_ = true;
- base::ThreadTaskRunnerHandle::Get()->PostTask(
- FROM_HERE, base::Bind(&FuzzedDatagramClientSocket::OnReadComplete,
- weak_factory_.GetWeakPtr(), callback, result));
- return ERR_IO_PENDING;
-}
-
-int FuzzedDatagramClientSocket::Write(IOBuffer* buf,
- int buf_len,
- const CompletionCallback& callback) {
- CHECK(!callback.is_null());
- CHECK(!write_pending_);
-
- // Normally this is allowed, but code really shouldn't be doing this - if it
- // is, it's best to figure out why, and fix it.
- CHECK(connected_);
-
- int result;
- // Decide if success or failure.
- if (data_provider_->ConsumeBool()) {
- // On success, everything is written.
- result = buf_len;
- } else {
- // On failure, pick a random write error.
- result = data_provider_->PickValueInArray(kWriteErrors);
- }
-
- // Decide if result should be returned synchronously.
- if (data_provider_->ConsumeBool())
- return result;
-
- write_pending_ = true;
- base::ThreadTaskRunnerHandle::Get()->PostTask(
- FROM_HERE, base::Bind(&FuzzedDatagramClientSocket::OnWriteComplete,
- weak_factory_.GetWeakPtr(), callback, result));
- return ERR_IO_PENDING;
-}
-
-int FuzzedDatagramClientSocket::SetReceiveBufferSize(int32_t size) {
- return OK;
-}
-
-int FuzzedDatagramClientSocket::SetSendBufferSize(int32_t size) {
- return OK;
-}
-
-int FuzzedDatagramClientSocket::SetDoNotFragment() {
- return OK;
-}
-
-void FuzzedDatagramClientSocket::OnReadComplete(
- const net::CompletionCallback& callback,
- int result) {
- CHECK(connected_);
- CHECK(read_pending_);
-
- read_pending_ = false;
- callback.Run(result);
-}
-
-void FuzzedDatagramClientSocket::OnWriteComplete(
- const net::CompletionCallback& callback,
- int result) {
- CHECK(connected_);
- CHECK(write_pending_);
-
- write_pending_ = false;
- callback.Run(result);
-}
-
-} // namespace net
« no previous file with comments | « net/udp/fuzzed_datagram_client_socket.h ('k') | net/udp/udp_client_socket.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698