OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 // This file defines some basic types used by the P2P-related IPC | 5 // This file defines some basic types used by the P2P-related IPC |
6 // messages. | 6 // messages. |
7 | 7 |
8 #ifndef CONTENT_COMMON_P2P_SOCKET_TYPE_H_ | 8 #ifndef CONTENT_COMMON_P2P_SOCKET_TYPE_H_ |
9 #define CONTENT_COMMON_P2P_SOCKET_TYPE_H_ | 9 #define CONTENT_COMMON_P2P_SOCKET_TYPE_H_ |
10 | 10 |
| 11 #include <string> |
| 12 |
| 13 #include "net/base/ip_endpoint.h" |
| 14 |
11 namespace content { | 15 namespace content { |
12 | 16 |
13 enum P2PSocketOption { | 17 enum P2PSocketOption { |
14 P2P_SOCKET_OPT_RCVBUF, // Receive buffer size. | 18 P2P_SOCKET_OPT_RCVBUF, // Receive buffer size. |
15 P2P_SOCKET_OPT_SNDBUF, // Send buffer size. | 19 P2P_SOCKET_OPT_SNDBUF, // Send buffer size. |
16 P2P_SOCKET_OPT_DSCP, // DSCP code. | 20 P2P_SOCKET_OPT_DSCP, // DSCP code. |
17 P2P_SOCKET_OPT_MAX | 21 P2P_SOCKET_OPT_MAX |
18 }; | 22 }; |
19 | 23 |
20 // Type of P2P Socket. | 24 // Type of P2P Socket. |
21 enum P2PSocketType { | 25 enum P2PSocketType { |
22 P2P_SOCKET_UDP, | 26 P2P_SOCKET_UDP, |
23 P2P_SOCKET_TCP_SERVER, | 27 P2P_SOCKET_TCP_SERVER, |
24 P2P_SOCKET_STUN_TCP_SERVER, | 28 P2P_SOCKET_STUN_TCP_SERVER, |
25 P2P_SOCKET_TCP_CLIENT, | 29 P2P_SOCKET_TCP_CLIENT, |
26 P2P_SOCKET_STUN_TCP_CLIENT, | 30 P2P_SOCKET_STUN_TCP_CLIENT, |
27 P2P_SOCKET_SSLTCP_CLIENT, | 31 P2P_SOCKET_SSLTCP_CLIENT, |
28 P2P_SOCKET_STUN_SSLTCP_CLIENT, | 32 P2P_SOCKET_STUN_SSLTCP_CLIENT, |
29 P2P_SOCKET_TLS_CLIENT, | 33 P2P_SOCKET_TLS_CLIENT, |
30 P2P_SOCKET_STUN_TLS_CLIENT, | 34 P2P_SOCKET_STUN_TLS_CLIENT, |
31 P2P_SOCKET_TYPE_LAST = P2P_SOCKET_STUN_TLS_CLIENT | 35 P2P_SOCKET_TYPE_LAST = P2P_SOCKET_STUN_TLS_CLIENT |
32 }; | 36 }; |
33 | 37 |
| 38 // Struct which carries both resolved IP address and host string literal. |
| 39 // Port number will be part of |ip_address|. |
| 40 struct P2PHostAndIPEndPoint { |
| 41 P2PHostAndIPEndPoint() {} |
| 42 P2PHostAndIPEndPoint(const std::string& hostname, |
| 43 const net::IPEndPoint& ip_address) |
| 44 : hostname(hostname), ip_address(ip_address) { |
| 45 } |
| 46 |
| 47 std::string hostname; |
| 48 net::IPEndPoint ip_address; |
| 49 }; |
| 50 |
34 } // namespace content | 51 } // namespace content |
35 | 52 |
36 #endif // CONTENT_COMMON_P2P_SOCKET_TYPE_H_ | 53 #endif // CONTENT_COMMON_P2P_SOCKET_TYPE_H_ |
OLD | NEW |