OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2004 The WebRTC Project Authors. All rights reserved. | 2 * Copyright 2004 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_ASYNCPACKETSOCKET_H_ | 11 #ifndef WEBRTC_BASE_ASYNCPACKETSOCKET_H_ |
12 #define WEBRTC_BASE_ASYNCPACKETSOCKET_H_ | 12 #define WEBRTC_BASE_ASYNCPACKETSOCKET_H_ |
13 | 13 |
14 #include "webrtc/base/dscp.h" | 14 #include "webrtc/base/dscp.h" |
15 #include "webrtc/base/sigslot.h" | 15 #include "webrtc/base/sigslot.h" |
16 #include "webrtc/base/socket.h" | 16 #include "webrtc/base/socket.h" |
17 #include "webrtc/base/timeutils.h" | 17 #include "webrtc/base/timeutils.h" |
18 | 18 |
19 namespace rtc { | 19 namespace rtc { |
20 | 20 |
| 21 class Network; |
| 22 |
21 // This structure holds the info needed to update the packet send time header | 23 // This structure holds the info needed to update the packet send time header |
22 // extension, including the information needed to update the authentication tag | 24 // extension, including the information needed to update the authentication tag |
23 // after changing the value. | 25 // after changing the value. |
24 struct PacketTimeUpdateParams { | 26 struct PacketTimeUpdateParams { |
25 PacketTimeUpdateParams(); | 27 PacketTimeUpdateParams(); |
26 ~PacketTimeUpdateParams(); | 28 ~PacketTimeUpdateParams(); |
27 | 29 |
28 int rtp_sendtime_extension_id; // extension header id present in packet. | 30 int rtp_sendtime_extension_id; // extension header id present in packet. |
29 std::vector<char> srtp_auth_key; // Authentication key. | 31 std::vector<char> srtp_auth_key; // Authentication key. |
30 int srtp_auth_tag_len; // Authentication tag length. | 32 int srtp_auth_tag_len; // Authentication tag length. |
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
97 | 99 |
98 // Get/set options. | 100 // Get/set options. |
99 virtual int GetOption(Socket::Option opt, int* value) = 0; | 101 virtual int GetOption(Socket::Option opt, int* value) = 0; |
100 virtual int SetOption(Socket::Option opt, int value) = 0; | 102 virtual int SetOption(Socket::Option opt, int value) = 0; |
101 | 103 |
102 // Get/Set current error. | 104 // Get/Set current error. |
103 // TODO: Remove SetError(). | 105 // TODO: Remove SetError(). |
104 virtual int GetError() const = 0; | 106 virtual int GetError() const = 0; |
105 virtual void SetError(int error) = 0; | 107 virtual void SetError(int error) = 0; |
106 | 108 |
| 109 virtual void BindToNetwork(const Network* network) {} |
| 110 |
107 // Emitted each time a packet is read. Used only for UDP and | 111 // Emitted each time a packet is read. Used only for UDP and |
108 // connected TCP sockets. | 112 // connected TCP sockets. |
109 sigslot::signal5<AsyncPacketSocket*, const char*, size_t, | 113 sigslot::signal5<AsyncPacketSocket*, const char*, size_t, |
110 const SocketAddress&, | 114 const SocketAddress&, |
111 const PacketTime&> SignalReadPacket; | 115 const PacketTime&> SignalReadPacket; |
112 | 116 |
113 // Emitted each time a packet is sent. | 117 // Emitted each time a packet is sent. |
114 sigslot::signal2<AsyncPacketSocket*, const SentPacket&> SignalSentPacket; | 118 sigslot::signal2<AsyncPacketSocket*, const SentPacket&> SignalSentPacket; |
115 | 119 |
116 // Emitted when the socket is currently able to send. | 120 // Emitted when the socket is currently able to send. |
(...skipping 16 matching lines...) Expand all Loading... |
133 // Used only for listening TCP sockets. | 137 // Used only for listening TCP sockets. |
134 sigslot::signal2<AsyncPacketSocket*, AsyncPacketSocket*> SignalNewConnection; | 138 sigslot::signal2<AsyncPacketSocket*, AsyncPacketSocket*> SignalNewConnection; |
135 | 139 |
136 private: | 140 private: |
137 RTC_DISALLOW_COPY_AND_ASSIGN(AsyncPacketSocket); | 141 RTC_DISALLOW_COPY_AND_ASSIGN(AsyncPacketSocket); |
138 }; | 142 }; |
139 | 143 |
140 } // namespace rtc | 144 } // namespace rtc |
141 | 145 |
142 #endif // WEBRTC_BASE_ASYNCPACKETSOCKET_H_ | 146 #endif // WEBRTC_BASE_ASYNCPACKETSOCKET_H_ |
OLD | NEW |