| Index: jingle/glue/fake_socket_factory.cc
|
| diff --git a/jingle/glue/fake_socket_factory.cc b/jingle/glue/fake_socket_factory.cc
|
| deleted file mode 100644
|
| index 570c22fee313d6996878dfb4e426bda61b6cf5c6..0000000000000000000000000000000000000000
|
| --- a/jingle/glue/fake_socket_factory.cc
|
| +++ /dev/null
|
| @@ -1,199 +0,0 @@
|
| -// Copyright (c) 2011 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 "jingle/glue/fake_socket_factory.h"
|
| -
|
| -#include "base/bind.h"
|
| -#include "base/message_loop/message_loop.h"
|
| -#include "jingle/glue/utils.h"
|
| -#include "third_party/libjingle/source/talk/base/asyncpacketsocket.h"
|
| -#include "third_party/libjingle/source/talk/base/asyncsocket.h"
|
| -
|
| -namespace jingle_glue {
|
| -
|
| -FakeUDPPacketSocket::FakeUDPPacketSocket(FakeSocketManager* fake_socket_manager,
|
| - const net::IPEndPoint& address)
|
| - : fake_socket_manager_(fake_socket_manager),
|
| - endpoint_(address), state_(IS_OPEN), error_(0) {
|
| - CHECK(IPEndPointToSocketAddress(endpoint_, &local_address_));
|
| - fake_socket_manager_->AddSocket(this);
|
| -}
|
| -
|
| -FakeUDPPacketSocket::~FakeUDPPacketSocket() {
|
| - fake_socket_manager_->RemoveSocket(this);
|
| -}
|
| -
|
| -talk_base::SocketAddress FakeUDPPacketSocket::GetLocalAddress() const {
|
| - DCHECK(CalledOnValidThread());
|
| - return local_address_;
|
| -}
|
| -
|
| -talk_base::SocketAddress FakeUDPPacketSocket::GetRemoteAddress() const {
|
| - DCHECK(CalledOnValidThread());
|
| - return remote_address_;
|
| -}
|
| -
|
| -int FakeUDPPacketSocket::Send(const void *data, size_t data_size,
|
| - const talk_base::PacketOptions& options) {
|
| - DCHECK(CalledOnValidThread());
|
| - return SendTo(data, data_size, remote_address_, options);
|
| -}
|
| -
|
| -int FakeUDPPacketSocket::SendTo(const void *data, size_t data_size,
|
| - const talk_base::SocketAddress& address,
|
| - const talk_base::PacketOptions& options) {
|
| - DCHECK(CalledOnValidThread());
|
| -
|
| - if (state_ == IS_CLOSED) {
|
| - return ENOTCONN;
|
| - }
|
| -
|
| - net::IPEndPoint destination;
|
| - if (!SocketAddressToIPEndPoint(address, &destination)) {
|
| - return EINVAL;
|
| - }
|
| -
|
| - const char* data_char = reinterpret_cast<const char*>(data);
|
| - std::vector<char> data_vector(data_char, data_char + data_size);
|
| -
|
| - fake_socket_manager_->SendPacket(endpoint_, destination, data_vector);
|
| -
|
| - return data_size;
|
| -}
|
| -
|
| -int FakeUDPPacketSocket::Close() {
|
| - DCHECK(CalledOnValidThread());
|
| - state_ = IS_CLOSED;
|
| - return 0;
|
| -}
|
| -
|
| -talk_base::AsyncPacketSocket::State FakeUDPPacketSocket::GetState() const {
|
| - DCHECK(CalledOnValidThread());
|
| -
|
| - switch (state_) {
|
| - case IS_OPEN:
|
| - return STATE_BOUND;
|
| - case IS_CLOSED:
|
| - return STATE_CLOSED;
|
| - }
|
| -
|
| - NOTREACHED();
|
| - return STATE_CLOSED;
|
| -}
|
| -
|
| -int FakeUDPPacketSocket::GetOption(talk_base::Socket::Option opt, int* value) {
|
| - DCHECK(CalledOnValidThread());
|
| - return -1;
|
| -}
|
| -
|
| -int FakeUDPPacketSocket::SetOption(talk_base::Socket::Option opt, int value) {
|
| - DCHECK(CalledOnValidThread());
|
| - return -1;
|
| -}
|
| -
|
| -int FakeUDPPacketSocket::GetError() const {
|
| - DCHECK(CalledOnValidThread());
|
| - return error_;
|
| -}
|
| -
|
| -void FakeUDPPacketSocket::SetError(int error) {
|
| - DCHECK(CalledOnValidThread());
|
| - error_ = error;
|
| -}
|
| -
|
| -void FakeUDPPacketSocket::DeliverPacket(const net::IPEndPoint& from,
|
| - const std::vector<char>& data) {
|
| - DCHECK(CalledOnValidThread());
|
| -
|
| - talk_base::SocketAddress address;
|
| - if (!jingle_glue::IPEndPointToSocketAddress(from, &address)) {
|
| - // We should always be able to convert address here because we
|
| - // don't expect IPv6 address on IPv4 connections.
|
| - NOTREACHED();
|
| - return;
|
| - }
|
| -
|
| - SignalReadPacket(this, &data[0], data.size(), address,
|
| - talk_base::CreatePacketTime(0));
|
| -}
|
| -
|
| -FakeSocketManager::FakeSocketManager()
|
| - : message_loop_(base::MessageLoop::current()) {}
|
| -
|
| -FakeSocketManager::~FakeSocketManager() { }
|
| -
|
| -void FakeSocketManager::SendPacket(const net::IPEndPoint& from,
|
| - const net::IPEndPoint& to,
|
| - const std::vector<char>& data) {
|
| - DCHECK_EQ(base::MessageLoop::current(), message_loop_);
|
| -
|
| - message_loop_->PostTask(
|
| - FROM_HERE,
|
| - base::Bind(&FakeSocketManager::DeliverPacket, this, from, to, data));
|
| -}
|
| -
|
| -void FakeSocketManager::DeliverPacket(const net::IPEndPoint& from,
|
| - const net::IPEndPoint& to,
|
| - const std::vector<char>& data) {
|
| - DCHECK_EQ(base::MessageLoop::current(), message_loop_);
|
| -
|
| - std::map<net::IPEndPoint, FakeUDPPacketSocket*>::iterator it =
|
| - endpoints_.find(to);
|
| - if (it == endpoints_.end()) {
|
| - LOG(WARNING) << "Dropping packet with unknown destination: "
|
| - << to.ToString();
|
| - return;
|
| - }
|
| - it->second->DeliverPacket(from, data);
|
| -}
|
| -
|
| -void FakeSocketManager::AddSocket(FakeUDPPacketSocket* socket_factory) {
|
| - DCHECK_EQ(base::MessageLoop::current(), message_loop_);
|
| -
|
| - endpoints_[socket_factory->endpoint()] = socket_factory;
|
| -}
|
| -
|
| -void FakeSocketManager::RemoveSocket(FakeUDPPacketSocket* socket_factory) {
|
| - DCHECK_EQ(base::MessageLoop::current(), message_loop_);
|
| -
|
| - endpoints_.erase(socket_factory->endpoint());
|
| -}
|
| -
|
| -FakeSocketFactory::FakeSocketFactory(FakeSocketManager* socket_manager,
|
| - const net::IPAddressNumber& address)
|
| - : socket_manager_(socket_manager),
|
| - address_(address),
|
| - last_allocated_port_(0) {
|
| -}
|
| -
|
| -FakeSocketFactory::~FakeSocketFactory() {
|
| -}
|
| -
|
| -talk_base::AsyncPacketSocket* FakeSocketFactory::CreateUdpSocket(
|
| - const talk_base::SocketAddress& local_address, int min_port, int max_port) {
|
| - CHECK_EQ(min_port, 0);
|
| - CHECK_EQ(max_port, 0);
|
| - return new FakeUDPPacketSocket(
|
| - socket_manager_.get(), net::IPEndPoint(address_, ++last_allocated_port_));
|
| -}
|
| -
|
| -talk_base::AsyncPacketSocket* FakeSocketFactory::CreateServerTcpSocket(
|
| - const talk_base::SocketAddress& local_address, int min_port, int max_port,
|
| - int opts) {
|
| - // TODO(sergeyu): Implement fake TCP sockets.
|
| - NOTIMPLEMENTED();
|
| - return NULL;
|
| -}
|
| -
|
| -talk_base::AsyncPacketSocket* FakeSocketFactory::CreateClientTcpSocket(
|
| - const talk_base::SocketAddress& local_address,
|
| - const talk_base::SocketAddress& remote_address,
|
| - const talk_base::ProxyInfo& proxy_info, const std::string& user_agent,
|
| - int opts) {
|
| - // TODO(sergeyu): Implement fake TCP sockets.
|
| - NOTIMPLEMENTED();
|
| - return NULL;
|
| -}
|
| -
|
| -} // namespace jingle_glue
|
|
|