| Index: mojo/shell/incoming_connection_listener_posix.cc
|
| diff --git a/mojo/shell/incoming_connection_listener_posix.cc b/mojo/shell/incoming_connection_listener_posix.cc
|
| deleted file mode 100644
|
| index cf70d0db1d5069ac371a45d8ad1f9d2deb053297..0000000000000000000000000000000000000000
|
| --- a/mojo/shell/incoming_connection_listener_posix.cc
|
| +++ /dev/null
|
| @@ -1,103 +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 "mojo/shell/incoming_connection_listener_posix.h"
|
| -
|
| -#include "base/callback.h"
|
| -#include "base/files/file_path.h"
|
| -#include "base/files/file_util.h"
|
| -#include "base/logging.h"
|
| -#include "base/memory/scoped_ptr.h"
|
| -#include "base/sequenced_task_runner.h"
|
| -#include "base/tracked_objects.h"
|
| -#include "mojo/shell/domain_socket/net_errors.h"
|
| -#include "mojo/shell/domain_socket/socket_descriptor.h"
|
| -#include "mojo/shell/domain_socket/unix_domain_server_socket_posix.h"
|
| -
|
| -namespace mojo {
|
| -namespace shell {
|
| -
|
| -namespace {
|
| -// TODO(cmasone): Figure out what we should be doing about "authenticating" the
|
| -// process trying to connect.
|
| -bool Yes(const UnixDomainServerSocket::Credentials& ignored) {
|
| - return true;
|
| -}
|
| -} // anonymous namespace
|
| -
|
| -IncomingConnectionListenerPosix::IncomingConnectionListenerPosix(
|
| - const base::FilePath& socket_path,
|
| - Delegate* delegate)
|
| - : delegate_(delegate),
|
| - socket_path_(socket_path),
|
| - listen_socket_(base::Bind(&Yes), false),
|
| - incoming_socket_(kInvalidSocket),
|
| - weak_ptr_factory_(this) {
|
| - DCHECK(delegate_);
|
| -}
|
| -
|
| -IncomingConnectionListenerPosix::~IncomingConnectionListenerPosix() {
|
| - weak_ptr_factory_.InvalidateWeakPtrs();
|
| - if (!base::DeleteFile(socket_path_, false))
|
| - PLOG(ERROR) << "Listening Unix domain socket can't be destroyed.";
|
| -}
|
| -
|
| -void IncomingConnectionListenerPosix::StartListening() {
|
| - DCHECK(listen_thread_checker_.CalledOnValidThread());
|
| -
|
| - int rv = net::OK;
|
| - if (!base::DirectoryExists(socket_path_.DirName())) {
|
| - LOG(ERROR) << "Directory for listening socket does not exist.";
|
| - rv = net::ERR_FILE_NOT_FOUND;
|
| - } else if (!base::PathIsWritable(socket_path_.DirName())) {
|
| - LOG(ERROR) << "Listening socket file path is not writable.";
|
| - rv = net::ERR_ACCESS_DENIED;
|
| - } else if (!base::DeleteFile(socket_path_, false)) {
|
| - PLOG(ERROR) << "Listening socket file exists and can't be deleted";
|
| - rv = net::ERR_FILE_EXISTS;
|
| - } else {
|
| - const std::string& socket_address = socket_path_.value();
|
| - rv = listen_socket_.ListenWithPath(socket_address, 100);
|
| - }
|
| -
|
| - // Call OnListening() before Accept(), so that the delegate is certain to
|
| - // hear about listening before a connection might be accepted below.
|
| - delegate_->OnListening(rv);
|
| - if (rv == net::OK)
|
| - Accept();
|
| -}
|
| -
|
| -void IncomingConnectionListenerPosix::Accept() {
|
| - DCHECK(listen_thread_checker_.CalledOnValidThread());
|
| - int rv = listen_socket_.Accept(
|
| - &incoming_socket_,
|
| - base::Bind(&IncomingConnectionListenerPosix::OnAccept,
|
| - weak_ptr_factory_.GetWeakPtr()));
|
| -
|
| - // If rv == net::ERR_IO_PENDING), listen_socket_ will call
|
| - // OnAccept() later, when a connection attempt comes in.
|
| - if (rv != net::ERR_IO_PENDING) {
|
| - DVLOG_IF(1, rv == net::OK) << "Accept succeeded immediately";
|
| - OnAccept(rv);
|
| - }
|
| -}
|
| -
|
| -void IncomingConnectionListenerPosix::OnAccept(int rv) {
|
| - DCHECK(listen_thread_checker_.CalledOnValidThread());
|
| -
|
| - if (rv != net::OK || incoming_socket_ == kInvalidSocket) {
|
| - LOG_IF(ERROR, rv != net::OK) << "Accept failed " << net::ErrorToString(rv);
|
| - PLOG_IF(ERROR, rv == net::OK) << "Socket invalid";
|
| - } else {
|
| - // Passes ownership of incoming_socket_ to delegate_.
|
| - delegate_->OnConnection(incoming_socket_);
|
| - incoming_socket_ = kInvalidSocket;
|
| - }
|
| -
|
| - // Continue waiting to accept incoming connections...
|
| - Accept();
|
| -}
|
| -
|
| -} // namespace shell
|
| -} // namespace mojo
|
|
|