LeviLamina
Loading...
Searching...
No Matches
DelayBasedBwe.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated forward declare list
6// clang-format off
7namespace webrtc { class DataRate; }
8namespace webrtc { class FieldTrialsView; }
9namespace webrtc { class NetworkStatePredictor; }
10namespace webrtc { class RtcEventLog; }
11namespace webrtc { class TimeDelta; }
12namespace webrtc { class Timestamp; }
13namespace webrtc { struct NetworkStateEstimate; }
14namespace webrtc { struct PacketResult; }
15namespace webrtc { struct TransportPacketsFeedback; }
16// clang-format on
17
18namespace webrtc {
19
20class DelayBasedBwe {
21public:
22 // DelayBasedBwe inner types declare
23 // clang-format off
24 struct Result;
25 // clang-format on
26
27 // DelayBasedBwe inner types define
28 struct Result {
29 public:
30 // member variables
31 // NOLINTBEGIN
37 // NOLINTEND
38
39 public:
40 // prevent constructor by default
41 Result& operator=(Result const&);
42 Result(Result const&);
43
44 public:
45 // member functions
46 // NOLINTBEGIN
47 MCNAPI Result();
48 // NOLINTEND
49
50 public:
51 // constructor thunks
52 // NOLINTBEGIN
53 MCNAPI void* $ctor();
54 // NOLINTEND
55 };
56
57public:
58 // member variables
59 // NOLINTBEGIN
79 // NOLINTEND
80
81public:
82 // prevent constructor by default
83 DelayBasedBwe& operator=(DelayBasedBwe const&);
84 DelayBasedBwe(DelayBasedBwe const&);
85 DelayBasedBwe();
86
87public:
88 // virtual functions
89 // NOLINTBEGIN
90 virtual ~DelayBasedBwe() = default;
91 // NOLINTEND
92
93public:
94 // member functions
95 // NOLINTBEGIN
97 ::webrtc::FieldTrialsView const* key_value_config,
98 ::webrtc::RtcEventLog* event_log,
99 ::webrtc::NetworkStatePredictor* network_state_predictor
100 );
101
102 MCNAPI ::webrtc::TimeDelta GetExpectedBwePeriod() const;
103
104 MCNAPI void IncomingPacketFeedback(::webrtc::PacketResult const& packet_feedback, ::webrtc::Timestamp at_time);
105
106 MCNAPI ::webrtc::DelayBasedBwe::Result IncomingPacketFeedbackVector(
108 ::std::optional<::webrtc::DataRate> acked_bitrate,
109 ::std::optional<::webrtc::DataRate> probe_bitrate,
110 ::std::optional<::webrtc::NetworkStateEstimate> network_estimate,
111 bool in_alr
112 );
113
114 MCNAPI ::webrtc::DelayBasedBwe::Result MaybeUpdateEstimate(
115 ::std::optional<::webrtc::DataRate> acked_bitrate,
116 ::std::optional<::webrtc::DataRate> probe_bitrate,
117 ::std::optional<::webrtc::NetworkStateEstimate> state_estimate,
118 bool recovered_from_overuse,
119 bool in_alr,
120 ::webrtc::Timestamp at_time
121 );
122
123 MCNAPI void OnRttUpdate(::webrtc::TimeDelta avg_rtt);
124
125 MCNAPI void SetMinBitrate(::webrtc::DataRate min_bitrate);
126
127 MCNAPI void SetStartBitrate(::webrtc::DataRate start_bitrate);
128
129 MCNAPI bool UpdateEstimate(
130 ::webrtc::Timestamp at_time,
131 ::std::optional<::webrtc::DataRate> acked_bitrate,
132 ::webrtc::DataRate* target_rate
133 );
134 // NOLINTEND
135
136public:
137 // constructor thunks
138 // NOLINTBEGIN
139 MCNAPI void* $ctor(
140 ::webrtc::FieldTrialsView const* key_value_config,
141 ::webrtc::RtcEventLog* event_log,
142 ::webrtc::NetworkStatePredictor* network_state_predictor
143 );
144 // NOLINTEND
145
146public:
147 // vftables
148 // NOLINTBEGIN
149 MCNAPI static void** $vftable();
150 // NOLINTEND
151};
152
153} // namespace webrtc
Definition DataRate.h:10
MCAPI bool UpdateEstimate(::webrtc::Timestamp at_time, ::std::optional<::webrtc::DataRate > acked_bitrate, ::webrtc::DataRate *target_rate)
MCAPI void * $ctor(::webrtc::FieldTrialsView const *key_value_config, ::webrtc::RtcEventLog *event_log, ::webrtc::NetworkStatePredictor *network_state_predictor)
MCAPI::webrtc::DelayBasedBwe::Result IncomingPacketFeedbackVector(::webrtc::TransportPacketsFeedback const &msg, ::std::optional<::webrtc::DataRate > acked_bitrate, ::std::optional<::webrtc::DataRate > probe_bitrate, ::std::optional<::webrtc::NetworkStateEstimate > network_estimate, bool in_alr)
MCAPI void IncomingPacketFeedback(::webrtc::PacketResult const &packet_feedback, ::webrtc::Timestamp at_time)
MCAPI DelayBasedBwe(::webrtc::FieldTrialsView const *key_value_config, ::webrtc::RtcEventLog *event_log, ::webrtc::NetworkStatePredictor *network_state_predictor)
MCAPI::webrtc::DelayBasedBwe::Result MaybeUpdateEstimate(::std::optional<::webrtc::DataRate > acked_bitrate, ::std::optional<::webrtc::DataRate > probe_bitrate, ::std::optional<::webrtc::NetworkStateEstimate > state_estimate, bool recovered_from_overuse, bool in_alr, ::webrtc::Timestamp at_time)
static MCAPI void ** $vftable()
MCAPI::webrtc::TimeDelta GetExpectedBwePeriod() const
MCAPI void OnRttUpdate(::webrtc::TimeDelta avg_rtt)
MCAPI void SetStartBitrate(::webrtc::DataRate start_bitrate)
MCAPI void SetMinBitrate(::webrtc::DataRate min_bitrate)
Definition FieldTrialsView.h:7
Definition NetworkStatePredictor.h:10
Definition RtcEventLog.h:13
Definition TimeDelta.h:10
Definition Timestamp.h:15
Definition Alias.h:14
Definition DelayBasedBwe.h:28
Definition NetworkStateEstimate.h:7
Definition PacketResult.h:7
Definition TransportPacketsFeedback.h:12