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/bind.h" | 10 #include "base/bind.h" |
11 #include "base/location.h" | 11 #include "base/location.h" |
12 #include "base/macros.h" | 12 #include "base/macros.h" |
13 #include "base/memory/weak_ptr.h" | 13 #include "base/memory/weak_ptr.h" |
14 #include "base/run_loop.h" | 14 #include "base/run_loop.h" |
15 #include "base/single_thread_task_runner.h" | 15 #include "base/single_thread_task_runner.h" |
16 #include "base/stl_util.h" | 16 #include "base/stl_util.h" |
17 #include "base/threading/thread_task_runner_handle.h" | 17 #include "base/threading/thread_task_runner_handle.h" |
18 #include "net/base/io_buffer.h" | 18 #include "net/base/io_buffer.h" |
19 #include "net/base/ip_address.h" | 19 #include "net/base/ip_address.h" |
20 #include "net/base/ip_endpoint.h" | 20 #include "net/base/ip_endpoint.h" |
21 #include "net/base/net_errors.h" | 21 #include "net/base/net_errors.h" |
22 #include "net/base/test_completion_callback.h" | 22 #include "net/base/test_completion_callback.h" |
| 23 #include "net/log/net_log_event_type.h" |
23 #include "net/log/test_net_log.h" | 24 #include "net/log/test_net_log.h" |
24 #include "net/log/test_net_log_entry.h" | 25 #include "net/log/test_net_log_entry.h" |
25 #include "net/log/test_net_log_util.h" | 26 #include "net/log/test_net_log_util.h" |
26 #include "net/test/gtest_util.h" | 27 #include "net/test/gtest_util.h" |
27 #include "net/test/net_test_suite.h" | 28 #include "net/test/net_test_suite.h" |
28 #include "testing/gmock/include/gmock/gmock.h" | 29 #include "testing/gmock/include/gmock/gmock.h" |
29 #include "testing/gtest/include/gtest/gtest.h" | 30 #include "testing/gtest/include/gtest/gtest.h" |
30 #include "testing/platform_test.h" | 31 #include "testing/platform_test.h" |
31 | 32 |
32 #if defined(OS_ANDROID) | 33 #if defined(OS_ANDROID) |
(...skipping 191 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
224 | 225 |
225 // Delete sockets so they log their final events. | 226 // Delete sockets so they log their final events. |
226 server.reset(); | 227 server.reset(); |
227 client.reset(); | 228 client.reset(); |
228 | 229 |
229 // Check the server's log. | 230 // Check the server's log. |
230 TestNetLogEntry::List server_entries; | 231 TestNetLogEntry::List server_entries; |
231 server_log.GetEntries(&server_entries); | 232 server_log.GetEntries(&server_entries); |
232 EXPECT_EQ(5u, server_entries.size()); | 233 EXPECT_EQ(5u, server_entries.size()); |
233 EXPECT_TRUE( | 234 EXPECT_TRUE( |
234 LogContainsBeginEvent(server_entries, 0, NetLog::TYPE_SOCKET_ALIVE)); | 235 LogContainsBeginEvent(server_entries, 0, NetLogEventType::SOCKET_ALIVE)); |
235 EXPECT_TRUE(LogContainsEvent( | 236 EXPECT_TRUE(LogContainsEvent(server_entries, 1, |
236 server_entries, 1, NetLog::TYPE_UDP_BYTES_RECEIVED, NetLog::PHASE_NONE)); | 237 NetLogEventType::UDP_BYTES_RECEIVED, |
237 EXPECT_TRUE(LogContainsEvent(server_entries, 2, NetLog::TYPE_UDP_BYTES_SENT, | 238 NetLogEventPhase::NONE)); |
238 NetLog::PHASE_NONE)); | 239 EXPECT_TRUE(LogContainsEvent(server_entries, 2, |
239 EXPECT_TRUE(LogContainsEvent( | 240 NetLogEventType::UDP_BYTES_SENT, |
240 server_entries, 3, NetLog::TYPE_UDP_BYTES_RECEIVED, NetLog::PHASE_NONE)); | 241 NetLogEventPhase::NONE)); |
| 242 EXPECT_TRUE(LogContainsEvent(server_entries, 3, |
| 243 NetLogEventType::UDP_BYTES_RECEIVED, |
| 244 NetLogEventPhase::NONE)); |
241 EXPECT_TRUE( | 245 EXPECT_TRUE( |
242 LogContainsEndEvent(server_entries, 4, NetLog::TYPE_SOCKET_ALIVE)); | 246 LogContainsEndEvent(server_entries, 4, NetLogEventType::SOCKET_ALIVE)); |
243 | 247 |
244 // Check the client's log. | 248 // Check the client's log. |
245 TestNetLogEntry::List client_entries; | 249 TestNetLogEntry::List client_entries; |
246 client_log.GetEntries(&client_entries); | 250 client_log.GetEntries(&client_entries); |
247 EXPECT_EQ(7u, client_entries.size()); | 251 EXPECT_EQ(7u, client_entries.size()); |
248 EXPECT_TRUE( | 252 EXPECT_TRUE( |
249 LogContainsBeginEvent(client_entries, 0, NetLog::TYPE_SOCKET_ALIVE)); | 253 LogContainsBeginEvent(client_entries, 0, NetLogEventType::SOCKET_ALIVE)); |
250 EXPECT_TRUE( | 254 EXPECT_TRUE( |
251 LogContainsBeginEvent(client_entries, 1, NetLog::TYPE_UDP_CONNECT)); | 255 LogContainsBeginEvent(client_entries, 1, NetLogEventType::UDP_CONNECT)); |
252 EXPECT_TRUE(LogContainsEndEvent(client_entries, 2, NetLog::TYPE_UDP_CONNECT)); | |
253 EXPECT_TRUE(LogContainsEvent(client_entries, 3, NetLog::TYPE_UDP_BYTES_SENT, | |
254 NetLog::PHASE_NONE)); | |
255 EXPECT_TRUE(LogContainsEvent( | |
256 client_entries, 4, NetLog::TYPE_UDP_BYTES_RECEIVED, NetLog::PHASE_NONE)); | |
257 EXPECT_TRUE(LogContainsEvent(client_entries, 5, NetLog::TYPE_UDP_BYTES_SENT, | |
258 NetLog::PHASE_NONE)); | |
259 EXPECT_TRUE( | 256 EXPECT_TRUE( |
260 LogContainsEndEvent(client_entries, 6, NetLog::TYPE_SOCKET_ALIVE)); | 257 LogContainsEndEvent(client_entries, 2, NetLogEventType::UDP_CONNECT)); |
| 258 EXPECT_TRUE(LogContainsEvent(client_entries, 3, |
| 259 NetLogEventType::UDP_BYTES_SENT, |
| 260 NetLogEventPhase::NONE)); |
| 261 EXPECT_TRUE(LogContainsEvent(client_entries, 4, |
| 262 NetLogEventType::UDP_BYTES_RECEIVED, |
| 263 NetLogEventPhase::NONE)); |
| 264 EXPECT_TRUE(LogContainsEvent(client_entries, 5, |
| 265 NetLogEventType::UDP_BYTES_SENT, |
| 266 NetLogEventPhase::NONE)); |
| 267 EXPECT_TRUE( |
| 268 LogContainsEndEvent(client_entries, 6, NetLogEventType::SOCKET_ALIVE)); |
261 } | 269 } |
262 | 270 |
263 TEST_F(UDPSocketTest, Connect) { | 271 TEST_F(UDPSocketTest, Connect) { |
264 // The variable |use_nonblocking_io| has no effect in non-Windows ports. | 272 // The variable |use_nonblocking_io| has no effect in non-Windows ports. |
265 ConnectTest(false); | 273 ConnectTest(false); |
266 } | 274 } |
267 | 275 |
268 #if defined(OS_WIN) | 276 #if defined(OS_WIN) |
269 TEST_F(UDPSocketTest, ConnectNonBlocking) { | 277 TEST_F(UDPSocketTest, ConnectNonBlocking) { |
270 ConnectTest(true); | 278 ConnectTest(true); |
(...skipping 628 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
899 g_expected_traffic_type = QOSTrafficTypeExcellentEffort; | 907 g_expected_traffic_type = QOSTrafficTypeExcellentEffort; |
900 EXPECT_THAT(client.SetDiffServCodePoint(DSCP_NO_CHANGE), IsOk()); | 908 EXPECT_THAT(client.SetDiffServCodePoint(DSCP_NO_CHANGE), IsOk()); |
901 g_expected_dscp = DSCP_DEFAULT; | 909 g_expected_dscp = DSCP_DEFAULT; |
902 g_expected_traffic_type = QOSTrafficTypeBestEffort; | 910 g_expected_traffic_type = QOSTrafficTypeBestEffort; |
903 EXPECT_THAT(client.SetDiffServCodePoint(DSCP_DEFAULT), IsOk()); | 911 EXPECT_THAT(client.SetDiffServCodePoint(DSCP_DEFAULT), IsOk()); |
904 client.Close(); | 912 client.Close(); |
905 } | 913 } |
906 #endif | 914 #endif |
907 | 915 |
908 } // namespace net | 916 } // namespace net |
OLD | NEW |