| 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 |