| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2016 The WebRTC Project Authors. All rights reserved. | 2 * Copyright 2016 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 |
| (...skipping 17 matching lines...) Expand all Loading... |
| 28 | 28 |
| 29 namespace cricket { | 29 namespace cricket { |
| 30 | 30 |
| 31 constexpr int kTimeoutMs = 10000; | 31 constexpr int kTimeoutMs = 10000; |
| 32 static const rtc::IPAddress kIPv4LocalHostAddress = | 32 static const rtc::IPAddress kIPv4LocalHostAddress = |
| 33 rtc::IPAddress(0x7F000001); // 127.0.0.1 | 33 rtc::IPAddress(0x7F000001); // 127.0.0.1 |
| 34 | 34 |
| 35 class UdpTransportTest : public testing::Test, public sigslot::has_slots<> { | 35 class UdpTransportTest : public testing::Test, public sigslot::has_slots<> { |
| 36 public: | 36 public: |
| 37 UdpTransportTest() | 37 UdpTransportTest() |
| 38 : network_thread_(rtc::Thread::Current()), | 38 : physical_socket_server_(new rtc::PhysicalSocketServer), |
| 39 physical_socket_server_(new rtc::PhysicalSocketServer), | |
| 40 virtual_socket_server_( | 39 virtual_socket_server_( |
| 41 new rtc::VirtualSocketServer(physical_socket_server_.get())), | 40 new rtc::VirtualSocketServer(physical_socket_server_.get())), |
| 42 ss_scope_(virtual_socket_server_.get()), | 41 network_thread_(virtual_socket_server_.get()), |
| 43 ep1_("Name1", | 42 ep1_("Name1", |
| 44 std::unique_ptr<rtc::AsyncPacketSocket>( | 43 std::unique_ptr<rtc::AsyncPacketSocket>( |
| 45 socket_factory_.CreateUdpSocket( | 44 socket_factory_.CreateUdpSocket( |
| 46 rtc::SocketAddress(rtc::GetAnyIP(AF_INET), 0), | 45 rtc::SocketAddress(rtc::GetAnyIP(AF_INET), 0), |
| 47 0, | 46 0, |
| 48 0))), | 47 0))), |
| 49 ep2_("Name2", | 48 ep2_("Name2", |
| 50 std::unique_ptr<rtc::AsyncPacketSocket>( | 49 std::unique_ptr<rtc::AsyncPacketSocket>( |
| 51 socket_factory_.CreateUdpSocket( | 50 socket_factory_.CreateUdpSocket( |
| 52 rtc::SocketAddress(rtc::GetAnyIP(AF_INET), 0), | 51 rtc::SocketAddress(rtc::GetAnyIP(AF_INET), 0), |
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 114 } | 113 } |
| 115 | 114 |
| 116 std::list<std::string> ch_packets_; | 115 std::list<std::string> ch_packets_; |
| 117 std::unique_ptr<UdpTransport> ch_; | 116 std::unique_ptr<UdpTransport> ch_; |
| 118 uint32_t num_received_packets_ = 0; // Increases on SignalReadPacket. | 117 uint32_t num_received_packets_ = 0; // Increases on SignalReadPacket. |
| 119 uint32_t num_sig_sent_packets_ = 0; // Increases on SignalSentPacket. | 118 uint32_t num_sig_sent_packets_ = 0; // Increases on SignalSentPacket. |
| 120 uint32_t num_sig_writable_ = 0; // Increases on SignalWritable. | 119 uint32_t num_sig_writable_ = 0; // Increases on SignalWritable. |
| 121 uint32_t num_sig_ready_to_send_ = 0; // Increases on SignalReadyToSend. | 120 uint32_t num_sig_ready_to_send_ = 0; // Increases on SignalReadyToSend. |
| 122 }; | 121 }; |
| 123 | 122 |
| 124 rtc::Thread* network_thread_ = nullptr; | |
| 125 std::unique_ptr<rtc::PhysicalSocketServer> physical_socket_server_; | 123 std::unique_ptr<rtc::PhysicalSocketServer> physical_socket_server_; |
| 126 std::unique_ptr<rtc::VirtualSocketServer> virtual_socket_server_; | 124 std::unique_ptr<rtc::VirtualSocketServer> virtual_socket_server_; |
| 127 rtc::SocketServerScope ss_scope_; | 125 rtc::AutoSocketServerThread network_thread_; |
| 128 // Uses current thread's socket server, which will be set by ss_scope_. | 126 // Uses current thread's socket server, which will be set by ss_scope_. |
| 129 rtc::BasicPacketSocketFactory socket_factory_; | 127 rtc::BasicPacketSocketFactory socket_factory_; |
| 130 | 128 |
| 131 Endpoint ep1_; | 129 Endpoint ep1_; |
| 132 Endpoint ep2_; | 130 Endpoint ep2_; |
| 133 | 131 |
| 134 void TestSendRecv() { | 132 void TestSendRecv() { |
| 135 for (uint32_t i = 0; i < 5; ++i) { | 133 for (uint32_t i = 0; i < 5; ++i) { |
| 136 static const char* data = "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"; | 134 static const char* data = "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"; |
| 137 int len = static_cast<int>(strlen(data)); | 135 int len = static_cast<int>(strlen(data)); |
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 186 EXPECT_TRUE(ep1_.ch_->writable()); | 184 EXPECT_TRUE(ep1_.ch_->writable()); |
| 187 EXPECT_EQ(1u, ep1_.num_sig_writable_); | 185 EXPECT_EQ(1u, ep1_.num_sig_writable_); |
| 188 EXPECT_EQ(1u, ep1_.num_sig_ready_to_send_); | 186 EXPECT_EQ(1u, ep1_.num_sig_ready_to_send_); |
| 189 const char data[] = "abc"; | 187 const char data[] = "abc"; |
| 190 ep1_.SendData(data, sizeof(data)); | 188 ep1_.SendData(data, sizeof(data)); |
| 191 EXPECT_EQ_WAIT(1u, ep1_.ch_packets_.size(), kTimeoutMs); | 189 EXPECT_EQ_WAIT(1u, ep1_.ch_packets_.size(), kTimeoutMs); |
| 192 EXPECT_EQ_WAIT(1u, ep1_.num_sig_sent_packets_, kTimeoutMs); | 190 EXPECT_EQ_WAIT(1u, ep1_.num_sig_sent_packets_, kTimeoutMs); |
| 193 } | 191 } |
| 194 | 192 |
| 195 } // namespace cricket | 193 } // namespace cricket |
| OLD | NEW |