Skip to content
LeviMC
English
AutoLightDark
LeviLamina
Loading...
Searching...
No Matches
TransportFeedbackAdapter.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated forward declare list
6// clang-format off
7namespace webrtc { class DataSize; }
8namespace webrtc { class RtpPacketToSend; }
9namespace webrtc { class Timestamp; }
10namespace webrtc { struct NetworkRoute; }
11namespace webrtc { struct PacedPacketInfo; }
12namespace webrtc { struct PacketFeedback; }
13namespace webrtc { struct PacketResult; }
14namespace webrtc { struct SentPacket; }
15namespace webrtc { struct SentPacketInfo; }
16namespace webrtc { struct TransportPacketsFeedback; }
17namespace webrtc::rtcp { class CongestionControlFeedback; }
18namespace webrtc::rtcp { class TransportFeedback; }
19// clang-format on
20
21namespace webrtc {
22
23class TransportFeedbackAdapter {
24public:
25 // TransportFeedbackAdapter inner types declare
26 // clang-format off
28 // clang-format on
29
30 // TransportFeedbackAdapter inner types define
31 enum class SendTimeHistoryStatus : int {
32 KNotAdded = 0,
33 KOk = 1,
34 KDuplicate = 2,
35 };
36
37 struct SsrcAndRtpSequencenumber {
38 public:
39 // member variables
40 // NOLINTBEGIN
43 // NOLINTEND
44
45 public:
46 // prevent constructor by default
47 SsrcAndRtpSequencenumber& operator=(SsrcAndRtpSequencenumber const&);
48 SsrcAndRtpSequencenumber(SsrcAndRtpSequencenumber const&);
49 SsrcAndRtpSequencenumber();
50 };
51
52public:
53 // member variables
54 // NOLINTBEGIN
67 // NOLINTEND
68
69public:
70 // prevent constructor by default
71 TransportFeedbackAdapter& operator=(TransportFeedbackAdapter const&);
72 TransportFeedbackAdapter(TransportFeedbackAdapter const&);
73
74public:
75 // member functions
76 // NOLINTBEGIN
77 MCNAPI void AddPacket(
78 ::webrtc::RtpPacketToSend const& packet_to_send,
79 ::webrtc::PacedPacketInfo const& pacing_info,
80 uint64 overhead_bytes,
81 ::webrtc::Timestamp creation_time
82 );
83
84 MCNAPI ::webrtc::DataSize GetOutstandingData() const;
85
86 MCNAPI ::std::optional<::webrtc::TransportPacketsFeedback> ProcessCongestionControlFeedback(
88 ::webrtc::Timestamp feedback_receive_time
89 );
90
91 MCNAPI ::std::optional<::webrtc::SentPacket> ProcessSentPacket(::webrtc::SentPacketInfo const& sent_packet);
92
93 MCNAPI ::std::optional<::webrtc::TransportPacketsFeedback> ProcessTransportFeedback(
95 ::webrtc::Timestamp feedback_receive_time
96 );
97
98 MCNAPI ::std::optional<::webrtc::PacketFeedback> RetrievePacketFeedback(int64 transport_seq_num, bool received);
99
100 MCNAPI void SetNetworkRoute(::webrtc::NetworkRoute const& network_route);
101
102 MCNAPI ::std::optional<::webrtc::TransportPacketsFeedback> ToTransportFeedback(
103 ::std::vector<::webrtc::PacketResult> packet_results,
104 ::webrtc::Timestamp feedback_receive_time,
105 bool supports_ecn
106 );
107
109
111 // NOLINTEND
112
113public:
114 // constructor thunks
115 // NOLINTBEGIN
116 MCNAPI void* $ctor();
117 // NOLINTEND
118
119public:
120 // destructor thunk
121 // NOLINTBEGIN
122 MCNAPI void $dtor();
123 // NOLINTEND
124};
125
126} // namespace webrtc
Definition DataSize.h:10
Definition RtpPacketToSend.h:16
Definition Timestamp.h:15
MCAPI::webrtc::DataSize GetOutstandingData() const
MCAPI void SetNetworkRoute(::webrtc::NetworkRoute const &network_route)
MCAPI ::std::optional<::webrtc::TransportPacketsFeedback > ProcessTransportFeedback(::webrtc::rtcp::TransportFeedback const &feedback, ::webrtc::Timestamp feedback_receive_time)
MCAPI ::std::optional<::webrtc::TransportPacketsFeedback > ToTransportFeedback(::std::vector<::webrtc::PacketResult > packet_results, ::webrtc::Timestamp feedback_receive_time, bool supports_ecn)
MCAPI void AddPacket(::webrtc::RtpPacketToSend const &packet_to_send, ::webrtc::PacedPacketInfo const &pacing_info, uint64 overhead_bytes, ::webrtc::Timestamp creation_time)
MCAPI ::std::optional<::webrtc::TransportPacketsFeedback > ProcessCongestionControlFeedback(::webrtc::rtcp::CongestionControlFeedback const &feedback, ::webrtc::Timestamp feedback_receive_time)
MCAPI ::std::optional<::webrtc::PacketFeedback > RetrievePacketFeedback(int64 transport_seq_num, bool received)
MCAPI ::std::optional<::webrtc::SentPacket > ProcessSentPacket(::webrtc::SentPacketInfo const &sent_packet)
Definition CongestionControlFeedback.h:17
Definition TransportFeedback.h:19
Definition Alias.h:14
Definition NetworkRoute.h:7
Definition PacedPacketInfo.h:7
Definition PacketFeedback.h:7
Definition PacketResult.h:7
Definition SentPacketInfo.h:12
Definition SentPacket.h:7
Definition TransportFeedbackAdapter.h:37
Definition TransportPacketsFeedback.h:12