| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2004 The WebRTC Project Authors. All rights reserved. | 2 * Copyright 2004 The WebRTC Project Authors. All rights reserved. |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license | 4 * Use of this source code is governed by a BSD-style license |
| 5 * that can be found in the LICENSE file in the root of the source | 5 * that can be found in the LICENSE file in the root of the source |
| 6 * tree. An additional intellectual property rights grant can be found | 6 * tree. An additional intellectual property rights grant can be found |
| 7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
| 8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
| 9 */ | 9 */ |
| 10 | 10 |
| 11 #include <algorithm> | 11 #include <algorithm> |
| 12 #include <memory> | 12 #include <memory> |
| 13 #include <string> | 13 #include <string> |
| 14 | 14 |
| 15 #include "webrtc/base/asynctcpsocket.h" |
| 15 #include "webrtc/base/gunit.h" | 16 #include "webrtc/base/gunit.h" |
| 16 #include "webrtc/base/logging.h" | 17 #include "webrtc/base/logging.h" |
| 17 #include "webrtc/base/natserver.h" | 18 #include "webrtc/base/natserver.h" |
| 18 #include "webrtc/base/natsocketfactory.h" | 19 #include "webrtc/base/natsocketfactory.h" |
| 19 #include "webrtc/base/nethelpers.h" | 20 #include "webrtc/base/nethelpers.h" |
| 20 #include "webrtc/base/network.h" | 21 #include "webrtc/base/network.h" |
| 21 #include "webrtc/base/physicalsocketserver.h" | 22 #include "webrtc/base/physicalsocketserver.h" |
| 23 #include "webrtc/base/ptr_util.h" |
| 22 #include "webrtc/base/testclient.h" | 24 #include "webrtc/base/testclient.h" |
| 23 #include "webrtc/base/asynctcpsocket.h" | |
| 24 #include "webrtc/base/virtualsocketserver.h" | 25 #include "webrtc/base/virtualsocketserver.h" |
| 25 | 26 |
| 26 using namespace rtc; | 27 using namespace rtc; |
| 27 | 28 |
| 28 bool CheckReceive( | 29 bool CheckReceive( |
| 29 TestClient* client, bool should_receive, const char* buf, size_t size) { | 30 TestClient* client, bool should_receive, const char* buf, size_t size) { |
| 30 return (should_receive) ? | 31 return (should_receive) ? |
| 31 client->CheckNextPacket(buf, size, 0) : | 32 client->CheckNextPacket(buf, size, 0) : |
| 32 client->CheckNoPacket(); | 33 client->CheckNoPacket(); |
| 33 } | 34 } |
| 34 | 35 |
| 35 TestClient* CreateTestClient( | 36 TestClient* CreateTestClient( |
| 36 SocketFactory* factory, const SocketAddress& local_addr) { | 37 SocketFactory* factory, const SocketAddress& local_addr) { |
| 37 AsyncUDPSocket* socket = AsyncUDPSocket::Create(factory, local_addr); | 38 return new TestClient( |
| 38 return new TestClient(socket); | 39 WrapUnique(AsyncUDPSocket::Create(factory, local_addr))); |
| 39 } | 40 } |
| 40 | 41 |
| 41 TestClient* CreateTCPTestClient(AsyncSocket* socket) { | 42 TestClient* CreateTCPTestClient(AsyncSocket* socket) { |
| 42 AsyncTCPSocket* packet_socket = new AsyncTCPSocket(socket, false); | 43 return new TestClient(MakeUnique<AsyncTCPSocket>(socket, false)); |
| 43 return new TestClient(packet_socket); | |
| 44 } | 44 } |
| 45 | 45 |
| 46 // Tests that when sending from internal_addr to external_addrs through the | 46 // Tests that when sending from internal_addr to external_addrs through the |
| 47 // NAT type specified by nat_type, all external addrs receive the sent packet | 47 // NAT type specified by nat_type, all external addrs receive the sent packet |
| 48 // and, if exp_same is true, all use the same mapped-address on the NAT. | 48 // and, if exp_same is true, all use the same mapped-address on the NAT. |
| 49 void TestSend( | 49 void TestSend( |
| 50 SocketServer* internal, const SocketAddress& internal_addr, | 50 SocketServer* internal, const SocketAddress& internal_addr, |
| 51 SocketServer* external, const SocketAddress external_addrs[4], | 51 SocketServer* external, const SocketAddress external_addrs[4], |
| 52 NATType nat_type, bool exp_same) { | 52 NATType nat_type, bool exp_same) { |
| 53 Thread th_int(internal); | 53 Thread th_int(internal); |
| (...skipping 332 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 386 size_t len = strlen(buf); | 386 size_t len = strlen(buf); |
| 387 | 387 |
| 388 in->Send(buf, len); | 388 in->Send(buf, len); |
| 389 SocketAddress trans_addr; | 389 SocketAddress trans_addr; |
| 390 EXPECT_TRUE(out->CheckNextPacket(buf, len, &trans_addr)); | 390 EXPECT_TRUE(out->CheckNextPacket(buf, len, &trans_addr)); |
| 391 | 391 |
| 392 out->Send(buf, len); | 392 out->Send(buf, len); |
| 393 EXPECT_TRUE(in->CheckNextPacket(buf, len, &trans_addr)); | 393 EXPECT_TRUE(in->CheckNextPacket(buf, len, &trans_addr)); |
| 394 } | 394 } |
| 395 // #endif | 395 // #endif |
| OLD | NEW |