OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2016 The WebRTC Project Authors. All rights reserved. | 2 * Copyright 2016 The WebRTC Project Authors. All rights reserved. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license | 4 * Use of this source code is governed by a BSD-style license |
5 * that can be found in the LICENSE file in the root of the source | 5 * that can be found in the LICENSE file in the root of the source |
6 * tree. An additional intellectual property rights grant can be found | 6 * tree. An additional intellectual property rights grant can be found |
7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
9 */ | 9 */ |
10 | 10 |
11 #ifndef WEBRTC_BASE_NETWORKROUTE_H_ | 11 #ifndef WEBRTC_BASE_NETWORKROUTE_H_ |
12 #define WEBRTC_BASE_NETWORKROUTE_H_ | 12 #define WEBRTC_BASE_NETWORKROUTE_H_ |
13 | 13 |
14 // TODO(honghaiz): Make a directory that describes the interfaces and structs | 14 // TODO(honghaiz): Make a directory that describes the interfaces and structs |
15 // the media code can rely on and the network code can implement, and both can | 15 // the media code can rely on and the network code can implement, and both can |
16 // depend on that, but not depend on each other. Then, move this file to that | 16 // depend on that, but not depend on each other. Then, move this file to that |
17 // directory. | 17 // directory. |
18 namespace rtc { | 18 namespace rtc { |
19 | 19 |
20 struct NetworkRoute { | 20 struct NetworkRoute { |
21 bool connected; | 21 bool connected; |
22 uint16_t local_network_id; | 22 uint16_t local_network_id; |
23 uint16_t remote_network_id; | 23 uint16_t remote_network_id; |
24 int last_sent_packet_id; // Last packet id sent on the PREVIOUS route. | 24 int last_sent_packet_id; // Last packet id sent on the PREVIOUS route. |
| 25 int transport_overhead_per_packet; |
25 | 26 |
26 NetworkRoute() | 27 NetworkRoute() |
27 : connected(false), | 28 : connected(false), |
28 local_network_id(0), | 29 local_network_id(0), |
29 remote_network_id(0), | 30 remote_network_id(0), |
30 last_sent_packet_id(-1) {} | 31 last_sent_packet_id(-1), |
| 32 transport_overhead_per_packet(0) {} |
31 | 33 |
32 // The route is connected if the local and remote network ids are provided. | 34 // The route is connected if the local and remote network ids are provided. |
33 NetworkRoute(bool connected, | 35 NetworkRoute(bool connected, |
34 uint16_t local_net_id, | 36 uint16_t local_net_id, |
35 uint16_t remote_net_id, | 37 uint16_t remote_net_id, |
36 int last_packet_id) | 38 int last_packet_id, |
| 39 int transport_overhead_per_packet) |
37 : connected(connected), | 40 : connected(connected), |
38 local_network_id(local_net_id), | 41 local_network_id(local_net_id), |
39 remote_network_id(remote_net_id), | 42 remote_network_id(remote_net_id), |
40 last_sent_packet_id(last_packet_id) {} | 43 last_sent_packet_id(last_packet_id), |
| 44 transport_overhead_per_packet(transport_overhead_per_packet) {} |
41 | 45 |
42 // |last_sent_packet_id| does not affect the NetworkRoute comparison. | 46 // |last_sent_packet_id| does not affect the NetworkRoute comparison. |
43 bool operator==(const NetworkRoute& nr) const { | 47 bool operator==(const NetworkRoute& nr) const { |
44 return connected == nr.connected && | 48 return connected == nr.connected && |
45 local_network_id == nr.local_network_id && | 49 local_network_id == nr.local_network_id && |
46 remote_network_id == nr.remote_network_id; | 50 remote_network_id == nr.remote_network_id; |
47 } | 51 } |
48 | 52 |
49 bool operator!=(const NetworkRoute& nr) const { return !(*this == nr); } | 53 bool operator!=(const NetworkRoute& nr) const { return !(*this == nr); } |
50 }; | 54 }; |
51 } // namespace rtc | 55 } // namespace rtc |
52 | 56 |
53 #endif // WEBRTC_BASE_NETWORKROUTE_H_ | 57 #endif // WEBRTC_BASE_NETWORKROUTE_H_ |
OLD | NEW |