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

Side by Side Diff: net/udp/udp_socket_win.h

Issue 1893083002: Change scoped_ptr to std::unique_ptr in //net. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: scopedptr-net-all: iwyu Created 4 years, 8 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
« no previous file with comments | « net/udp/udp_socket_unittest.cc ('k') | net/udp/udp_socket_win.cc » ('j') | 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) 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 #ifndef NET_UDP_UDP_SOCKET_WIN_H_ 5 #ifndef NET_UDP_UDP_SOCKET_WIN_H_
6 #define NET_UDP_UDP_SOCKET_WIN_H_ 6 #define NET_UDP_UDP_SOCKET_WIN_H_
7 7
8 #include <qos2.h> 8 #include <qos2.h>
9 #include <stdint.h> 9 #include <stdint.h>
10 #include <winsock2.h> 10 #include <winsock2.h>
11 11
12 #include <memory>
13
12 #include "base/gtest_prod_util.h" 14 #include "base/gtest_prod_util.h"
13 #include "base/macros.h" 15 #include "base/macros.h"
14 #include "base/memory/ref_counted.h" 16 #include "base/memory/ref_counted.h"
15 #include "base/memory/scoped_ptr.h"
16 #include "base/threading/non_thread_safe.h" 17 #include "base/threading/non_thread_safe.h"
17 #include "base/win/object_watcher.h" 18 #include "base/win/object_watcher.h"
18 #include "base/win/scoped_handle.h" 19 #include "base/win/scoped_handle.h"
19 #include "net/base/address_family.h" 20 #include "net/base/address_family.h"
20 #include "net/base/completion_callback.h" 21 #include "net/base/completion_callback.h"
21 #include "net/base/io_buffer.h" 22 #include "net/base/io_buffer.h"
22 #include "net/base/ip_endpoint.h" 23 #include "net/base/ip_endpoint.h"
23 #include "net/base/net_export.h" 24 #include "net/base/net_export.h"
24 #include "net/base/network_change_notifier.h" 25 #include "net/base/network_change_notifier.h"
25 #include "net/base/rand_callback.h" 26 #include "net/base/rand_callback.h"
(...skipping 240 matching lines...) Expand 10 before | Expand all | Expand 10 after
266 267
267 // How to do source port binding, used only when UDPSocket is part of 268 // How to do source port binding, used only when UDPSocket is part of
268 // UDPClientSocket, since UDPServerSocket provides Bind. 269 // UDPClientSocket, since UDPServerSocket provides Bind.
269 DatagramSocket::BindType bind_type_; 270 DatagramSocket::BindType bind_type_;
270 271
271 // PRNG function for generating port numbers. 272 // PRNG function for generating port numbers.
272 RandIntCallback rand_int_cb_; 273 RandIntCallback rand_int_cb_;
273 274
274 // These are mutable since they're just cached copies to make 275 // These are mutable since they're just cached copies to make
275 // GetPeerAddress/GetLocalAddress smarter. 276 // GetPeerAddress/GetLocalAddress smarter.
276 mutable scoped_ptr<IPEndPoint> local_address_; 277 mutable std::unique_ptr<IPEndPoint> local_address_;
277 mutable scoped_ptr<IPEndPoint> remote_address_; 278 mutable std::unique_ptr<IPEndPoint> remote_address_;
278 279
279 // The core of the socket that can live longer than the socket itself. We pass 280 // The core of the socket that can live longer than the socket itself. We pass
280 // resources to the Windows async IO functions and we have to make sure that 281 // resources to the Windows async IO functions and we have to make sure that
281 // they are not destroyed while the OS still references them. 282 // they are not destroyed while the OS still references them.
282 scoped_refptr<Core> core_; 283 scoped_refptr<Core> core_;
283 284
284 // True if non-blocking IO is used. 285 // True if non-blocking IO is used.
285 bool use_non_blocking_io_; 286 bool use_non_blocking_io_;
286 287
287 // Watches |read_write_event_|. 288 // Watches |read_write_event_|.
288 base::win::ObjectWatcher read_write_watcher_; 289 base::win::ObjectWatcher read_write_watcher_;
289 290
290 // Events for read and write. 291 // Events for read and write.
291 base::win::ScopedHandle read_write_event_; 292 base::win::ScopedHandle read_write_event_;
292 293
293 // The buffers used in Read() and Write(). 294 // The buffers used in Read() and Write().
294 scoped_refptr<IOBuffer> read_iobuffer_; 295 scoped_refptr<IOBuffer> read_iobuffer_;
295 scoped_refptr<IOBuffer> write_iobuffer_; 296 scoped_refptr<IOBuffer> write_iobuffer_;
296 297
297 int read_iobuffer_len_; 298 int read_iobuffer_len_;
298 int write_iobuffer_len_; 299 int write_iobuffer_len_;
299 300
300 IPEndPoint* recv_from_address_; 301 IPEndPoint* recv_from_address_;
301 302
302 // Cached copy of the current address we're sending to, if any. Used for 303 // Cached copy of the current address we're sending to, if any. Used for
303 // logging. 304 // logging.
304 scoped_ptr<IPEndPoint> send_to_address_; 305 std::unique_ptr<IPEndPoint> send_to_address_;
305 306
306 // External callback; called when read is complete. 307 // External callback; called when read is complete.
307 CompletionCallback read_callback_; 308 CompletionCallback read_callback_;
308 309
309 // External callback; called when write is complete. 310 // External callback; called when write is complete.
310 CompletionCallback write_callback_; 311 CompletionCallback write_callback_;
311 312
312 BoundNetLog net_log_; 313 BoundNetLog net_log_;
313 314
314 // QWAVE data. Used to set DSCP bits on outgoing packets. 315 // QWAVE data. Used to set DSCP bits on outgoing packets.
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
371 SetFlowFn set_flow_func_; 372 SetFlowFn set_flow_func_;
372 373
373 FRIEND_TEST_ALL_PREFIXES(UDPSocketTest, SetDSCPFake); 374 FRIEND_TEST_ALL_PREFIXES(UDPSocketTest, SetDSCPFake);
374 DISALLOW_COPY_AND_ASSIGN(QwaveAPI); 375 DISALLOW_COPY_AND_ASSIGN(QwaveAPI);
375 }; 376 };
376 377
377 378
378 } // namespace net 379 } // namespace net
379 380
380 #endif // NET_UDP_UDP_SOCKET_WIN_H_ 381 #endif // NET_UDP_UDP_SOCKET_WIN_H_
OLDNEW
« no previous file with comments | « net/udp/udp_socket_unittest.cc ('k') | net/udp/udp_socket_win.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698