LeviLamina
Loading...
Searching...
No Matches
RtpPacketHistory.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/external/rtc/FunctionView.h"
7
8// auto generated forward declare list
9// clang-format off
10namespace webrtc { class Clock; }
11namespace webrtc { class RtpPacketToSend; }
12namespace webrtc { class TimeDelta; }
13namespace webrtc { class Timestamp; }
14// clang-format on
15
16namespace webrtc {
17
18class RtpPacketHistory {
19public:
20 // RtpPacketHistory inner types declare
21 // clang-format off
22 struct MoreUseful;
23 class StoredPacket;
24 // clang-format on
25
26 // RtpPacketHistory inner types define
27 enum class PaddingMode : int {
28 KDefault = 0,
29 KPriority = 1,
30 KRecentLargePacket = 2,
31 };
32
33 enum class StorageMode : int {
34 KDisabled = 0,
35 KStoreAndCull = 1,
36 };
37
38 struct MoreUseful {};
39
40 class StoredPacket {
41 public:
42 // member variables
43 // NOLINTBEGIN
49 // NOLINTEND
50
51 public:
52 // prevent constructor by default
53 StoredPacket& operator=(StoredPacket const&);
54 StoredPacket(StoredPacket const&);
55 StoredPacket();
56 };
57
58public:
59 // member variables
60 // NOLINTBEGIN
71 // NOLINTEND
72
73public:
74 // prevent constructor by default
75 RtpPacketHistory& operator=(RtpPacketHistory const&);
76 RtpPacketHistory(RtpPacketHistory const&);
77 RtpPacketHistory();
78
79public:
80 // member functions
81 // NOLINTBEGIN
82 MCNAPI void Clear();
83
85
86 MCNAPI void CullOldPackets();
87
88 MCNAPI ::std::unique_ptr<::webrtc::RtpPacketToSend> GetPacketAndMarkAsPending(
89 ushort sequence_number,
90 ::rtc::FunctionView<::std::unique_ptr<::webrtc::RtpPacketToSend>(::webrtc::RtpPacketToSend const&)> encapsulate
91 );
92
93 MCNAPI int GetPacketIndex(ushort sequence_number) const;
94
95 MCNAPI ::std::unique_ptr<::webrtc::RtpPacketToSend> GetPayloadPaddingPacket(
96 ::rtc::FunctionView<::std::unique_ptr<::webrtc::RtpPacketToSend>(::webrtc::RtpPacketToSend const&)> encapsulate
97 );
98
99 MCNAPI ::webrtc::RtpPacketHistory::StorageMode GetStorageMode() const;
100
101 MCNAPI void MarkPacketAsSent(ushort sequence_number);
102
103 MCNAPI void PutRtpPacket(::std::unique_ptr<::webrtc::RtpPacketToSend> packet, ::webrtc::Timestamp send_time);
104
105 MCNAPI ::std::unique_ptr<::webrtc::RtpPacketToSend> RemovePacket(int packet_index);
106
107 MCNAPI RtpPacketHistory(::webrtc::Clock* clock, ::webrtc::RtpPacketHistory::PaddingMode padding_mode);
108
109 MCNAPI void SetRtt(::webrtc::TimeDelta rtt);
110
111 MCNAPI void SetStorePacketsStatus(::webrtc::RtpPacketHistory::StorageMode mode, uint64 number_to_store);
112
113 MCNAPI bool VerifyRtt(::webrtc::RtpPacketHistory::StoredPacket const& packet) const;
114
116 // NOLINTEND
117
118public:
119 // static variables
120 // NOLINTBEGIN
121 MCNAPI static ::webrtc::TimeDelta const& kMinPacketDuration();
122 // NOLINTEND
123
124public:
125 // constructor thunks
126 // NOLINTBEGIN
127 MCNAPI void* $ctor(::webrtc::Clock* clock, ::webrtc::RtpPacketHistory::PaddingMode padding_mode);
128 // NOLINTEND
129
130public:
131 // destructor thunk
132 // NOLINTBEGIN
133 MCNAPI void $dtor();
134 // NOLINTEND
135};
136
137} // namespace webrtc
Definition _HeaderOutputPredefine.h:309
Definition FunctionView.h:8
Definition Clock.h:13
Definition RtpPacketHistory.h:40
MCAPI void CullOldPackets()
MCAPI RtpPacketHistory(::webrtc::Clock *clock, ::webrtc::RtpPacketHistory::PaddingMode padding_mode)
MCAPI void PutRtpPacket(::std::unique_ptr<::webrtc::RtpPacketToSend > packet, ::webrtc::Timestamp send_time)
MCAPI void SetStorePacketsStatus(::webrtc::RtpPacketHistory::StorageMode mode, uint64 number_to_store)
static MCAPI ::webrtc::TimeDelta const & kMinPacketDuration()
MCAPI void SetRtt(::webrtc::TimeDelta rtt)
MCAPI ::std::unique_ptr<::webrtc::RtpPacketToSend > RemovePacket(int packet_index)
MCAPI ::std::unique_ptr<::webrtc::RtpPacketToSend > GetPayloadPaddingPacket(::rtc::FunctionView<::std::unique_ptr<::webrtc::RtpPacketToSend >(::webrtc::RtpPacketToSend const &)> encapsulate)
MCAPI ::std::unique_ptr<::webrtc::RtpPacketToSend > GetPacketAndMarkAsPending(ushort sequence_number, ::rtc::FunctionView<::std::unique_ptr<::webrtc::RtpPacketToSend >(::webrtc::RtpPacketToSend const &)> encapsulate)
MCAPI int GetPacketIndex(ushort sequence_number) const
MCAPI void CullAcknowledgedPackets(::rtc::ArrayView< ushort const > sequence_numbers)
MCAPI void MarkPacketAsSent(ushort sequence_number)
MCAPI void * $ctor(::webrtc::Clock *clock, ::webrtc::RtpPacketHistory::PaddingMode padding_mode)
MCAPI bool VerifyRtt(::webrtc::RtpPacketHistory::StoredPacket const &packet) const
MCAPI::webrtc::RtpPacketHistory::StorageMode GetStorageMode() const
Definition RtpPacketToSend.h:16
Definition TimeDelta.h:10
Definition Timestamp.h:15
Definition Alias.h:14
Definition RtpPacketHistory.h:38