| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "net/udp/udp_socket.h" | 5 #include "net/udp/udp_socket.h" |
| 6 | 6 |
| 7 #include "net/udp/udp_client_socket.h" | 7 #include "net/udp/udp_client_socket.h" |
| 8 #include "net/udp/udp_server_socket.h" | 8 #include "net/udp/udp_server_socket.h" |
| 9 | 9 |
| 10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
| (...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 142 callback.Run(); | 142 callback.Run(); |
| 143 } | 143 } |
| 144 | 144 |
| 145 void UDPSocketTest::ConnectTest(bool use_nonblocking_io) { | 145 void UDPSocketTest::ConnectTest(bool use_nonblocking_io) { |
| 146 const uint16 kPort = 9999; | 146 const uint16 kPort = 9999; |
| 147 std::string simple_message("hello world!"); | 147 std::string simple_message("hello world!"); |
| 148 | 148 |
| 149 // Setup the server to listen. | 149 // Setup the server to listen. |
| 150 IPEndPoint bind_address; | 150 IPEndPoint bind_address; |
| 151 CreateUDPAddress("127.0.0.1", kPort, &bind_address); | 151 CreateUDPAddress("127.0.0.1", kPort, &bind_address); |
| 152 CapturingNetLog server_log; | 152 TestNetLog server_log; |
| 153 scoped_ptr<UDPServerSocket> server( | 153 scoped_ptr<UDPServerSocket> server( |
| 154 new UDPServerSocket(&server_log, NetLog::Source())); | 154 new UDPServerSocket(&server_log, NetLog::Source())); |
| 155 #if defined(OS_WIN) | 155 #if defined(OS_WIN) |
| 156 if (use_nonblocking_io) | 156 if (use_nonblocking_io) |
| 157 server->UseNonBlockingIO(); | 157 server->UseNonBlockingIO(); |
| 158 #endif | 158 #endif |
| 159 server->AllowAddressReuse(); | 159 server->AllowAddressReuse(); |
| 160 int rv = server->Listen(bind_address); | 160 int rv = server->Listen(bind_address); |
| 161 ASSERT_EQ(OK, rv); | 161 ASSERT_EQ(OK, rv); |
| 162 | 162 |
| 163 // Setup the client. | 163 // Setup the client. |
| 164 IPEndPoint server_address; | 164 IPEndPoint server_address; |
| 165 CreateUDPAddress("127.0.0.1", kPort, &server_address); | 165 CreateUDPAddress("127.0.0.1", kPort, &server_address); |
| 166 CapturingNetLog client_log; | 166 TestNetLog client_log; |
| 167 scoped_ptr<UDPClientSocket> client( | 167 scoped_ptr<UDPClientSocket> client( |
| 168 new UDPClientSocket(DatagramSocket::DEFAULT_BIND, RandIntCallback(), | 168 new UDPClientSocket(DatagramSocket::DEFAULT_BIND, RandIntCallback(), |
| 169 &client_log, NetLog::Source())); | 169 &client_log, NetLog::Source())); |
| 170 #if defined(OS_WIN) | 170 #if defined(OS_WIN) |
| 171 if (use_nonblocking_io) | 171 if (use_nonblocking_io) |
| 172 client->UseNonBlockingIO(); | 172 client->UseNonBlockingIO(); |
| 173 #endif | 173 #endif |
| 174 | 174 |
| 175 rv = client->Connect(server_address); | 175 rv = client->Connect(server_address); |
| 176 EXPECT_EQ(OK, rv); | 176 EXPECT_EQ(OK, rv); |
| (...skipping 29 matching lines...) Expand all Loading... |
| 206 base::Unretained(this), client.get(), simple_message)); | 206 base::Unretained(this), client.get(), simple_message)); |
| 207 run_loop.Run(); | 207 run_loop.Run(); |
| 208 EXPECT_EQ(simple_message.length(), static_cast<size_t>(read_result)); | 208 EXPECT_EQ(simple_message.length(), static_cast<size_t>(read_result)); |
| 209 EXPECT_EQ(simple_message, std::string(buffer_->data(), read_result)); | 209 EXPECT_EQ(simple_message, std::string(buffer_->data(), read_result)); |
| 210 | 210 |
| 211 // Delete sockets so they log their final events. | 211 // Delete sockets so they log their final events. |
| 212 server.reset(); | 212 server.reset(); |
| 213 client.reset(); | 213 client.reset(); |
| 214 | 214 |
| 215 // Check the server's log. | 215 // Check the server's log. |
| 216 CapturingNetLog::CapturedEntryList server_entries; | 216 TestNetLog::CapturedEntryList server_entries; |
| 217 server_log.GetEntries(&server_entries); | 217 server_log.GetEntries(&server_entries); |
| 218 EXPECT_EQ(5u, server_entries.size()); | 218 EXPECT_EQ(5u, server_entries.size()); |
| 219 EXPECT_TRUE( | 219 EXPECT_TRUE( |
| 220 LogContainsBeginEvent(server_entries, 0, NetLog::TYPE_SOCKET_ALIVE)); | 220 LogContainsBeginEvent(server_entries, 0, NetLog::TYPE_SOCKET_ALIVE)); |
| 221 EXPECT_TRUE(LogContainsEvent( | 221 EXPECT_TRUE(LogContainsEvent( |
| 222 server_entries, 1, NetLog::TYPE_UDP_BYTES_RECEIVED, NetLog::PHASE_NONE)); | 222 server_entries, 1, NetLog::TYPE_UDP_BYTES_RECEIVED, NetLog::PHASE_NONE)); |
| 223 EXPECT_TRUE(LogContainsEvent(server_entries, 2, NetLog::TYPE_UDP_BYTES_SENT, | 223 EXPECT_TRUE(LogContainsEvent(server_entries, 2, NetLog::TYPE_UDP_BYTES_SENT, |
| 224 NetLog::PHASE_NONE)); | 224 NetLog::PHASE_NONE)); |
| 225 EXPECT_TRUE(LogContainsEvent( | 225 EXPECT_TRUE(LogContainsEvent( |
| 226 server_entries, 3, NetLog::TYPE_UDP_BYTES_RECEIVED, NetLog::PHASE_NONE)); | 226 server_entries, 3, NetLog::TYPE_UDP_BYTES_RECEIVED, NetLog::PHASE_NONE)); |
| 227 EXPECT_TRUE( | 227 EXPECT_TRUE( |
| 228 LogContainsEndEvent(server_entries, 4, NetLog::TYPE_SOCKET_ALIVE)); | 228 LogContainsEndEvent(server_entries, 4, NetLog::TYPE_SOCKET_ALIVE)); |
| 229 | 229 |
| 230 // Check the client's log. | 230 // Check the client's log. |
| 231 CapturingNetLog::CapturedEntryList client_entries; | 231 TestNetLog::CapturedEntryList client_entries; |
| 232 client_log.GetEntries(&client_entries); | 232 client_log.GetEntries(&client_entries); |
| 233 EXPECT_EQ(7u, client_entries.size()); | 233 EXPECT_EQ(7u, client_entries.size()); |
| 234 EXPECT_TRUE( | 234 EXPECT_TRUE( |
| 235 LogContainsBeginEvent(client_entries, 0, NetLog::TYPE_SOCKET_ALIVE)); | 235 LogContainsBeginEvent(client_entries, 0, NetLog::TYPE_SOCKET_ALIVE)); |
| 236 EXPECT_TRUE( | 236 EXPECT_TRUE( |
| 237 LogContainsBeginEvent(client_entries, 1, NetLog::TYPE_UDP_CONNECT)); | 237 LogContainsBeginEvent(client_entries, 1, NetLog::TYPE_UDP_CONNECT)); |
| 238 EXPECT_TRUE(LogContainsEndEvent(client_entries, 2, NetLog::TYPE_UDP_CONNECT)); | 238 EXPECT_TRUE(LogContainsEndEvent(client_entries, 2, NetLog::TYPE_UDP_CONNECT)); |
| 239 EXPECT_TRUE(LogContainsEvent(client_entries, 3, NetLog::TYPE_UDP_BYTES_SENT, | 239 EXPECT_TRUE(LogContainsEvent(client_entries, 3, NetLog::TYPE_UDP_BYTES_SENT, |
| 240 NetLog::PHASE_NONE)); | 240 NetLog::PHASE_NONE)); |
| 241 EXPECT_TRUE(LogContainsEvent( | 241 EXPECT_TRUE(LogContainsEvent( |
| (...skipping 28 matching lines...) Expand all Loading... |
| 270 TEST_F(UDPSocketTest, Broadcast) { | 270 TEST_F(UDPSocketTest, Broadcast) { |
| 271 #endif | 271 #endif |
| 272 const uint16 kPort = 9999; | 272 const uint16 kPort = 9999; |
| 273 std::string first_message("first message"), second_message("second message"); | 273 std::string first_message("first message"), second_message("second message"); |
| 274 | 274 |
| 275 IPEndPoint broadcast_address; | 275 IPEndPoint broadcast_address; |
| 276 CreateUDPAddress("255.255.255.255", kPort, &broadcast_address); | 276 CreateUDPAddress("255.255.255.255", kPort, &broadcast_address); |
| 277 IPEndPoint listen_address; | 277 IPEndPoint listen_address; |
| 278 CreateUDPAddress("0.0.0.0", kPort, &listen_address); | 278 CreateUDPAddress("0.0.0.0", kPort, &listen_address); |
| 279 | 279 |
| 280 CapturingNetLog server1_log, server2_log; | 280 TestNetLog server1_log, server2_log; |
| 281 scoped_ptr<UDPServerSocket> server1( | 281 scoped_ptr<UDPServerSocket> server1( |
| 282 new UDPServerSocket(&server1_log, NetLog::Source())); | 282 new UDPServerSocket(&server1_log, NetLog::Source())); |
| 283 scoped_ptr<UDPServerSocket> server2( | 283 scoped_ptr<UDPServerSocket> server2( |
| 284 new UDPServerSocket(&server2_log, NetLog::Source())); | 284 new UDPServerSocket(&server2_log, NetLog::Source())); |
| 285 server1->AllowAddressReuse(); | 285 server1->AllowAddressReuse(); |
| 286 server1->AllowBroadcast(); | 286 server1->AllowBroadcast(); |
| 287 server2->AllowAddressReuse(); | 287 server2->AllowAddressReuse(); |
| 288 server2->AllowBroadcast(); | 288 server2->AllowBroadcast(); |
| 289 | 289 |
| 290 int rv = server1->Listen(listen_address); | 290 int rv = server1->Listen(listen_address); |
| (...skipping 505 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 796 g_expected_traffic_type = QOSTrafficTypeExcellentEffort; | 796 g_expected_traffic_type = QOSTrafficTypeExcellentEffort; |
| 797 EXPECT_EQ(OK, client.SetDiffServCodePoint(DSCP_NO_CHANGE)); | 797 EXPECT_EQ(OK, client.SetDiffServCodePoint(DSCP_NO_CHANGE)); |
| 798 g_expected_dscp = DSCP_DEFAULT; | 798 g_expected_dscp = DSCP_DEFAULT; |
| 799 g_expected_traffic_type = QOSTrafficTypeBestEffort; | 799 g_expected_traffic_type = QOSTrafficTypeBestEffort; |
| 800 EXPECT_EQ(OK, client.SetDiffServCodePoint(DSCP_DEFAULT)); | 800 EXPECT_EQ(OK, client.SetDiffServCodePoint(DSCP_DEFAULT)); |
| 801 client.Close(); | 801 client.Close(); |
| 802 } | 802 } |
| 803 #endif | 803 #endif |
| 804 | 804 |
| 805 } // namespace net | 805 } // namespace net |
| OLD | NEW |