LeviLamina
Loading...
Searching...
No Matches
AimdRateControl.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 TimeDelta; }
10namespace webrtc { class Timestamp; }
11namespace webrtc { struct NetworkStateEstimate; }
12namespace webrtc { struct RateControlInput; }
13// clang-format on
14
15namespace webrtc {
16
18public:
19 // AimdRateControl inner types define
20 enum class RateControlState : int {
21 KRcHold = 0,
22 KRcIncrease = 1,
23 KRcDecrease = 2,
24 };
25
26public:
27 // member variables
28 // NOLINTBEGIN
49 // NOLINTEND
50
51public:
52 // prevent constructor by default
53 AimdRateControl& operator=(AimdRateControl const&);
56
57public:
58 // member functions
59 // NOLINTBEGIN
60 MCNAPI ::webrtc::DataRate AdditiveRateIncrease(::webrtc::Timestamp at_time, ::webrtc::Timestamp last_time) const;
61
62 MCNAPI AimdRateControl(::webrtc::FieldTrialsView const& key_value_config, bool send_side);
63
65
67
68 MCNAPI ::webrtc::DataRate ClampBitrate(::webrtc::DataRate new_bitrate) const;
69
70 MCNAPI ::webrtc::TimeDelta GetExpectedBandwidthPeriod() const;
71
73
75
76 MCNAPI ::webrtc::DataRate LatestEstimate() const;
77
78 MCNAPI ::webrtc::DataRate MultiplicativeRateIncrease(
79 ::webrtc::Timestamp at_time,
80 ::webrtc::Timestamp last_time,
81 ::webrtc::DataRate current_bitrate
82 ) const;
83
84 MCNAPI void SetEstimate(::webrtc::DataRate bitrate, ::webrtc::Timestamp at_time);
85
86 MCNAPI void SetInApplicationLimitedRegion(bool in_alr);
87
88 MCNAPI void SetMinBitrate(::webrtc::DataRate min_bitrate);
89
90 MCNAPI void SetNetworkStateEstimate(::std::optional<::webrtc::NetworkStateEstimate> const& estimate);
91
92 MCNAPI void SetRtt(::webrtc::TimeDelta rtt);
93
94 MCNAPI void SetStartBitrate(::webrtc::DataRate start_bitrate);
95
96 MCNAPI bool TimeToReduceFurther(::webrtc::Timestamp at_time, ::webrtc::DataRate estimated_throughput) const;
97
98 MCNAPI ::webrtc::DataRate Update(::webrtc::RateControlInput const& input, ::webrtc::Timestamp at_time);
99
100 MCNAPI bool ValidEstimate() const;
101
103 // NOLINTEND
104
105public:
106 // constructor thunks
107 // NOLINTBEGIN
108 MCNAPI void* $ctor(::webrtc::FieldTrialsView const& key_value_config, bool send_side);
109 // NOLINTEND
110
111public:
112 // destructor thunk
113 // NOLINTBEGIN
114 MCNAPI void $dtor();
115 // NOLINTEND
116};
117
118} // namespace webrtc
Definition AimdRateControl.h:17
MCAPI bool TimeToReduceFurther(::webrtc::Timestamp at_time, ::webrtc::DataRate estimated_throughput) const
MCAPI bool ValidEstimate() const
MCAPI void SetMinBitrate(::webrtc::DataRate min_bitrate)
MCAPI void SetInApplicationLimitedRegion(bool in_alr)
MCAPI void ChangeBitrate(::webrtc::RateControlInput const &input, ::webrtc::Timestamp at_time)
MCAPI::webrtc::TimeDelta GetExpectedBandwidthPeriod() const
MCAPI void SetEstimate(::webrtc::DataRate bitrate, ::webrtc::Timestamp at_time)
MCAPI void SetRtt(::webrtc::TimeDelta rtt)
MCAPI::webrtc::DataRate LatestEstimate() const
MCAPI double GetNearMaxIncreaseRateBpsPerSecond() const
MCAPI::webrtc::DataRate MultiplicativeRateIncrease(::webrtc::Timestamp at_time, ::webrtc::Timestamp last_time, ::webrtc::DataRate current_bitrate) const
MCAPI void SetStartBitrate(::webrtc::DataRate start_bitrate)
MCAPI bool InitialTimeToReduceFurther(::webrtc::Timestamp at_time) const
MCAPI::webrtc::DataRate ClampBitrate(::webrtc::DataRate new_bitrate) const
MCAPI void ChangeState(::webrtc::RateControlInput const &input, ::webrtc::Timestamp at_time)
MCAPI void SetNetworkStateEstimate(::std::optional<::webrtc::NetworkStateEstimate > const &estimate)
MCAPI::webrtc::DataRate Update(::webrtc::RateControlInput const &input, ::webrtc::Timestamp at_time)
MCAPI void * $ctor(::webrtc::FieldTrialsView const &key_value_config, bool send_side)
MCAPI::webrtc::DataRate AdditiveRateIncrease(::webrtc::Timestamp at_time, ::webrtc::Timestamp last_time) const
MCAPI AimdRateControl(::webrtc::FieldTrialsView const &key_value_config, bool send_side)
Definition DataRate.h:10
Definition FieldTrialsView.h:7
Definition TimeDelta.h:10
Definition Timestamp.h:10
Definition Alias.h:14
Definition RateControlInput.h:15