Add OnDatagramAcked interface
Bug: webrtc:9719
Change-Id: Ib394e02a4f0dcb36da64b9f005f068a53a50854c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/139280
Commit-Queue: Anton Sukhanov <sukhanov@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Bjorn Mellem <mellem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28111}
diff --git a/api/datagram_transport_interface.h b/api/datagram_transport_interface.h
index 271b951c8..84acdfc 100644
--- a/api/datagram_transport_interface.h
+++ b/api/datagram_transport_interface.h
@@ -31,6 +31,13 @@
typedef int64_t DatagramId;
+// TODO(mellem): Add receive timestamp.
+struct DatagramAck {
+ // |datagram_id| is same as passed in
+ // DatagramTransportInterface::SendDatagram.
+ DatagramId datagram_id;
+};
+
// All sink methods are called on network thread.
class DatagramSinkInterface {
public:
@@ -41,8 +48,12 @@
// Called when datagram is actually sent (datragram can be delayed due
// to congestion control or fusing). |datagram_id| is same as passed in
- // QuicTransportInterface::SendDatagram.
+ // DatagramTransportInterface::SendDatagram.
virtual void OnDatagramSent(DatagramId datagram_id) = 0;
+
+ // Called when datagram is ACKed.
+ // TODO(sukhanov): Make pure virtual.
+ virtual void OnDatagramAcked(const DatagramAck& datagram_ack) {}
};
// Datagram transport allows to send and receive unreliable packets (datagrams)