From 74bebc597e256844867807f917b97c8e058e7806 Mon Sep 17 00:00:00 2001 From: Anton Sukhanov Date: Wed, 29 May 2019 14:05:39 -0700 Subject: [PATCH] Add OnDatagramAcked interface Bug: webrtc:9719 Change-Id: Ib394e02a4f0dcb36da64b9f005f068a53a50854c Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/139280 Commit-Queue: Anton Sukhanov Reviewed-by: Steve Anton Reviewed-by: Bjorn Mellem Cr-Commit-Position: refs/heads/master@{#28111} --- api/datagram_transport_interface.h | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/api/datagram_transport_interface.h b/api/datagram_transport_interface.h index 271b951c8e..84acdfc10f 100644 --- a/api/datagram_transport_interface.h +++ b/api/datagram_transport_interface.h @@ -31,6 +31,13 @@ namespace webrtc { 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 @@ class DatagramSinkInterface { // 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)