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)