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}
This commit is contained in:
Anton Sukhanov 2019-05-29 14:05:39 -07:00 committed by Commit Bot
parent 72055b11be
commit 74bebc597e

View File

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