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

Side by Side Diff: jingle/glue/fake_socket_factory.cc

Issue 7077019: Unbranch libjingle (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: - Created 9 years, 6 months 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « jingle/glue/fake_socket_factory.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "jingle/glue/fake_socket_factory.h" 5 #include "jingle/glue/fake_socket_factory.h"
6 6
7 #include "base/message_loop.h" 7 #include "base/message_loop.h"
8 #include "jingle/glue/utils.h" 8 #include "jingle/glue/utils.h"
9 #include "third_party/libjingle/source/talk/base/asyncsocket.h" 9 #include "third_party/libjingle/source/talk/base/asyncsocket.h"
10 10
11 namespace jingle_glue { 11 namespace jingle_glue {
12 12
13 FakeUDPPacketSocket::FakeUDPPacketSocket(FakeSocketManager* fake_socket_manager, 13 FakeUDPPacketSocket::FakeUDPPacketSocket(FakeSocketManager* fake_socket_manager,
14 const net::IPEndPoint& address) 14 const net::IPEndPoint& address)
15 : fake_socket_manager_(fake_socket_manager), 15 : fake_socket_manager_(fake_socket_manager),
16 endpoint_(address), state_(STATE_OPEN), error_(0) { 16 endpoint_(address), state_(IS_OPEN), error_(0) {
17 CHECK(IPEndPointToSocketAddress(endpoint_, &local_address_)); 17 CHECK(IPEndPointToSocketAddress(endpoint_, &local_address_));
18 fake_socket_manager_->AddSocket(this); 18 fake_socket_manager_->AddSocket(this);
19 } 19 }
20 20
21 FakeUDPPacketSocket::~FakeUDPPacketSocket() { 21 FakeUDPPacketSocket::~FakeUDPPacketSocket() {
22 fake_socket_manager_->RemoveSocket(this); 22 fake_socket_manager_->RemoveSocket(this);
23 } 23 }
24 24
25 bool FakeUDPPacketSocket::GetLocalAddress( 25 talk_base::SocketAddress FakeUDPPacketSocket::GetLocalAddress() const {
26 talk_base::SocketAddress* address) const {
27 DCHECK(CalledOnValidThread()); 26 DCHECK(CalledOnValidThread());
28 *address = local_address_; 27 return local_address_;
29 return true;
30 } 28 }
31 29
32 talk_base::SocketAddress FakeUDPPacketSocket::GetRemoteAddress() const { 30 talk_base::SocketAddress FakeUDPPacketSocket::GetRemoteAddress() const {
33 DCHECK(CalledOnValidThread()); 31 DCHECK(CalledOnValidThread());
34 return remote_address_; 32 return remote_address_;
35 } 33 }
36 34
37 int FakeUDPPacketSocket::Send(const void *data, size_t data_size) { 35 int FakeUDPPacketSocket::Send(const void *data, size_t data_size) {
38 DCHECK(CalledOnValidThread()); 36 DCHECK(CalledOnValidThread());
39 return SendTo(data, data_size, remote_address_); 37 return SendTo(data, data_size, remote_address_);
40 } 38 }
41 39
42 int FakeUDPPacketSocket::SendTo(const void *data, size_t data_size, 40 int FakeUDPPacketSocket::SendTo(const void *data, size_t data_size,
43 const talk_base::SocketAddress& address) { 41 const talk_base::SocketAddress& address) {
44 DCHECK(CalledOnValidThread()); 42 DCHECK(CalledOnValidThread());
45 43
46 if (state_ == STATE_CLOSED) { 44 if (state_ == IS_CLOSED) {
47 return ENOTCONN; 45 return ENOTCONN;
48 } 46 }
49 47
50 net::IPEndPoint destination; 48 net::IPEndPoint destination;
51 if (!SocketAddressToIPEndPoint(address, &destination)) { 49 if (!SocketAddressToIPEndPoint(address, &destination)) {
52 return EINVAL; 50 return EINVAL;
53 } 51 }
54 52
55 const char* data_char = reinterpret_cast<const char*>(data); 53 const char* data_char = reinterpret_cast<const char*>(data);
56 std::vector<char> data_vector(data_char, data_char + data_size); 54 std::vector<char> data_vector(data_char, data_char + data_size);
57 55
58 fake_socket_manager_->SendPacket(endpoint_, destination, data_vector); 56 fake_socket_manager_->SendPacket(endpoint_, destination, data_vector);
59 57
60 return data_size; 58 return data_size;
61 } 59 }
62 60
63 int FakeUDPPacketSocket::Close() { 61 int FakeUDPPacketSocket::Close() {
64 DCHECK(CalledOnValidThread()); 62 DCHECK(CalledOnValidThread());
65 state_ = STATE_CLOSED; 63 state_ = IS_CLOSED;
66 return 0; 64 return 0;
67 } 65 }
68 66
69 talk_base::Socket::ConnState FakeUDPPacketSocket::GetState() const { 67 talk_base::AsyncPacketSocket::State FakeUDPPacketSocket::GetState() const {
70 DCHECK(CalledOnValidThread()); 68 DCHECK(CalledOnValidThread());
71 69
72 switch (state_) { 70 switch (state_) {
73 case STATE_OPEN: 71 case IS_OPEN:
74 return talk_base::Socket::CS_CONNECTED; 72 return STATE_BOUND;
75 case STATE_CLOSED: 73 case IS_CLOSED:
76 return talk_base::Socket::CS_CLOSED; 74 return STATE_CLOSED;
77 } 75 }
78 76
79 NOTREACHED(); 77 NOTREACHED();
80 return talk_base::Socket::CS_CLOSED; 78 return STATE_CLOSED;
81 } 79 }
82 80
83 int FakeUDPPacketSocket::GetOption(talk_base::Socket::Option opt, int* value) { 81 int FakeUDPPacketSocket::GetOption(talk_base::Socket::Option opt, int* value) {
84 DCHECK(CalledOnValidThread()); 82 DCHECK(CalledOnValidThread());
85 return -1; 83 return -1;
86 } 84 }
87 85
88 int FakeUDPPacketSocket::SetOption(talk_base::Socket::Option opt, int value) { 86 int FakeUDPPacketSocket::SetOption(talk_base::Socket::Option opt, int value) {
89 DCHECK(CalledOnValidThread()); 87 DCHECK(CalledOnValidThread());
90 return -1; 88 return -1;
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
188 const talk_base::SocketAddress& local_address, 186 const talk_base::SocketAddress& local_address,
189 const talk_base::SocketAddress& remote_address, 187 const talk_base::SocketAddress& remote_address,
190 const talk_base::ProxyInfo& proxy_info, const std::string& user_agent, 188 const talk_base::ProxyInfo& proxy_info, const std::string& user_agent,
191 bool ssl) { 189 bool ssl) {
192 // TODO(sergeyu): Implement fake TCP sockets. 190 // TODO(sergeyu): Implement fake TCP sockets.
193 NOTIMPLEMENTED(); 191 NOTIMPLEMENTED();
194 return NULL; 192 return NULL;
195 } 193 }
196 194
197 } // namespace jingle_glue 195 } // namespace jingle_glue
OLDNEW
« no previous file with comments | « jingle/glue/fake_socket_factory.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698