Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(214)

Unified Diff: webrtc/base/asyncpacketsocket.h

Issue 1363573002: Wire up transport sequence number / send time callbacks to webrtc via libjingle. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: . Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: webrtc/base/asyncpacketsocket.h
diff --git a/webrtc/base/asyncpacketsocket.h b/webrtc/base/asyncpacketsocket.h
index f0c221da1dec3fd4014be539224366d507fcac23..9b37594475a3a3640cbeef04a7c2e157d37decb2 100644
--- a/webrtc/base/asyncpacketsocket.h
+++ b/webrtc/base/asyncpacketsocket.h
@@ -34,10 +34,12 @@ struct PacketTimeUpdateParams {
// This structure holds meta information for the packet which is about to send
// over network.
struct PacketOptions {
- PacketOptions() : dscp(DSCP_NO_CHANGE) {}
- explicit PacketOptions(DiffServCodePoint dscp) : dscp(dscp) {}
+ PacketOptions() : dscp(DSCP_NO_CHANGE), transport_sequence_number(-1) {}
+ PacketOptions(DiffServCodePoint dscp)
+ : dscp(dscp), transport_sequence_number(-1) {}
DiffServCodePoint dscp;
+ int32 transport_sequence_number; // 16 bits, -1 represents "not set".
pthatcher1 2015/09/25 23:24:58 I'm not to excited about something so RTP-specific
stefan-webrtc 2015/09/28 12:10:50 I could call it packet_id. I'm not sure that's a l
pthatcher1 2015/09/28 23:58:40 It's more generic because the layer that's doing t
stefan-webrtc 2015/10/02 13:29:12 I'm convinced. Fixed.
PacketTimeUpdateParams packet_time_params;
};
@@ -61,6 +63,16 @@ inline PacketTime CreatePacketTime(int64 not_before) {
return PacketTime(TimeMicros(), not_before);
}
+struct SentPacket {
+ SentPacket() : transport_sequence_number(-1), send_time_ms(-1) {}
+ SentPacket(int32 transport_sequence_number, int64 send_time_ms)
+ : transport_sequence_number(transport_sequence_number),
+ send_time_ms(send_time_ms) {}
+
+ int32 transport_sequence_number;
+ int64 send_time_ms;
+};
+
// Provides the ability to receive packets asynchronously. Sends are not
// buffered since it is acceptable to drop packets under high load.
class AsyncPacketSocket : public sigslot::has_slots<> {
@@ -109,6 +121,9 @@ class AsyncPacketSocket : public sigslot::has_slots<> {
const SocketAddress&,
const PacketTime&> SignalReadPacket;
+ // Emitted each time a packet is sent.
+ sigslot::signal2<AsyncPacketSocket*, const SentPacket&> SignalPacketSent;
pthatcher1 2015/09/25 23:24:57 I don't actually see this implemented anywhere. D
stefan-webrtc 2015/09/28 12:10:50 It's implemented in Chromium here: https://coderev
+
// Emitted when the socket is currently able to send.
sigslot::signal1<AsyncPacketSocket*> SignalReadyToSend;

Powered by Google App Engine
This is Rietveld 408576698