| 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 #ifndef NET_UDP_UDP_SOCKET_LIBEVENT_H_ | 5 #ifndef NET_UDP_UDP_SOCKET_LIBEVENT_H_ |
| 6 #define NET_UDP_UDP_SOCKET_LIBEVENT_H_ | 6 #define NET_UDP_UDP_SOCKET_LIBEVENT_H_ |
| 7 | 7 |
| 8 #include "base/memory/ref_counted.h" | 8 #include "base/memory/ref_counted.h" |
| 9 #include "base/memory/scoped_ptr.h" | 9 #include "base/memory/scoped_ptr.h" |
| 10 #include "base/message_loop/message_loop.h" | 10 #include "base/message_loop/message_loop.h" |
| (...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 144 // Note: the behavior of |SetMulticastLoopbackMode| is slightly | 144 // Note: the behavior of |SetMulticastLoopbackMode| is slightly |
| 145 // different between Windows and Unix-like systems. The inconsistency only | 145 // different between Windows and Unix-like systems. The inconsistency only |
| 146 // happens when there are more than one applications on the same host | 146 // happens when there are more than one applications on the same host |
| 147 // joined to the same multicast group while having different settings on | 147 // joined to the same multicast group while having different settings on |
| 148 // multicast loopback mode. On Windows, the applications with loopback off | 148 // multicast loopback mode. On Windows, the applications with loopback off |
| 149 // will not RECEIVE the loopback packets; while on Unix-like systems, the | 149 // will not RECEIVE the loopback packets; while on Unix-like systems, the |
| 150 // applications with loopback off will not SEND the loopback packets to | 150 // applications with loopback off will not SEND the loopback packets to |
| 151 // other applications on the same host. See MSDN: http://goo.gl/6vqbj | 151 // other applications on the same host. See MSDN: http://goo.gl/6vqbj |
| 152 int SetMulticastLoopbackMode(bool loopback); | 152 int SetMulticastLoopbackMode(bool loopback); |
| 153 | 153 |
| 154 // Set the differentiated services flags on outgoing packets. May not |
| 155 // do anything on some platforms. |
| 156 int SetDiffServCodePoint(DiffServCodePoint dscp); |
| 157 |
| 154 private: | 158 private: |
| 155 static const int kInvalidSocket = -1; | 159 static const int kInvalidSocket = -1; |
| 156 | 160 |
| 157 enum SocketOptions { | 161 enum SocketOptions { |
| 158 SOCKET_OPTION_REUSE_ADDRESS = 1 << 0, | 162 SOCKET_OPTION_REUSE_ADDRESS = 1 << 0, |
| 159 SOCKET_OPTION_BROADCAST = 1 << 1, | 163 SOCKET_OPTION_BROADCAST = 1 << 1, |
| 160 SOCKET_OPTION_MULTICAST_LOOP = 1 << 2 | 164 SOCKET_OPTION_MULTICAST_LOOP = 1 << 2 |
| 161 }; | 165 }; |
| 162 | 166 |
| 163 class ReadWatcher : public base::MessageLoopForIO::Watcher { | 167 class ReadWatcher : public base::MessageLoopForIO::Watcher { |
| (...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 274 CompletionCallback write_callback_; | 278 CompletionCallback write_callback_; |
| 275 | 279 |
| 276 BoundNetLog net_log_; | 280 BoundNetLog net_log_; |
| 277 | 281 |
| 278 DISALLOW_COPY_AND_ASSIGN(UDPSocketLibevent); | 282 DISALLOW_COPY_AND_ASSIGN(UDPSocketLibevent); |
| 279 }; | 283 }; |
| 280 | 284 |
| 281 } // namespace net | 285 } // namespace net |
| 282 | 286 |
| 283 #endif // NET_UDP_UDP_SOCKET_LIBEVENT_H_ | 287 #endif // NET_UDP_UDP_SOCKET_LIBEVENT_H_ |
| OLD | NEW |