LeviLamina
Loading...
Searching...
No Matches
ProbeController.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/external/webrtc/BandwidthLimitedCause.h"
7
8// auto generated forward declare list
9// clang-format off
10namespace webrtc { class DataRate; }
11namespace webrtc { class FieldTrialsView; }
12namespace webrtc { class RtcEventLog; }
13namespace webrtc { class Timestamp; }
14namespace webrtc { struct NetworkAvailability; }
15namespace webrtc { struct NetworkStateEstimate; }
16namespace webrtc { struct ProbeClusterConfig; }
17// clang-format on
18
19namespace webrtc {
20
22public:
23 // ProbeController inner types define
24 enum class State : int {
25 KInit = 0,
26 KWaitingForProbingResult = 1,
27 KProbingComplete = 2,
28 };
29
30public:
31 // member variables
32 // NOLINTBEGIN
53 // NOLINTEND
54
55public:
56 // prevent constructor by default
57 ProbeController& operator=(ProbeController const&);
60
61public:
62 // member functions
63 // NOLINTBEGIN
64 MCNAPI void EnablePeriodicAlrProbing(bool enable);
65
66 MCNAPI ::std::vector<::webrtc::ProbeClusterConfig> InitiateExponentialProbing(::webrtc::Timestamp at_time);
67
68 MCNAPI ::std::vector<::webrtc::ProbeClusterConfig>
69 InitiateProbing(::webrtc::Timestamp now, ::std::vector<::webrtc::DataRate> bitrates_to_probe, bool probe_further);
70
71 MCNAPI ::std::vector<::webrtc::ProbeClusterConfig>
73
74 MCNAPI ::std::vector<::webrtc::ProbeClusterConfig> OnNetworkAvailability(::webrtc::NetworkAvailability msg);
75
76 MCNAPI ProbeController(::webrtc::FieldTrialsView const* key_value_config, ::webrtc::RtcEventLog* event_log);
77
78 MCNAPI ::std::vector<::webrtc::ProbeClusterConfig> Process(::webrtc::Timestamp at_time);
79
80 MCNAPI ::std::vector<::webrtc::ProbeClusterConfig> RequestProbe(::webrtc::Timestamp at_time);
81
82 MCNAPI void Reset(::webrtc::Timestamp at_time);
83
84 MCNAPI void SetAlrEndedTimeMs(int64 alr_end_time_ms);
85
86 MCNAPI void SetAlrStartTimeMs(::std::optional<int64> alr_start_time_ms);
87
88 MCNAPI ::std::vector<::webrtc::ProbeClusterConfig> SetBitrates(
89 ::webrtc::DataRate min_bitrate,
90 ::webrtc::DataRate start_bitrate,
91 ::webrtc::DataRate max_bitrate,
93 );
94
95 MCNAPI ::std::vector<::webrtc::ProbeClusterConfig> SetEstimatedBitrate(
96 ::webrtc::DataRate bitrate,
97 ::webrtc::BandwidthLimitedCause bandwidth_limited_cause,
99 );
100
102
103 MCNAPI bool TimeForAlrProbe(::webrtc::Timestamp at_time) const;
104
106
108 // NOLINTEND
109
110public:
111 // constructor thunks
112 // NOLINTBEGIN
113 MCNAPI void* $ctor(::webrtc::FieldTrialsView const* key_value_config, ::webrtc::RtcEventLog* event_log);
114 // NOLINTEND
115
116public:
117 // destructor thunk
118 // NOLINTBEGIN
119 MCNAPI void $dtor();
120 // NOLINTEND
121};
122
123} // namespace webrtc
Definition DataRate.h:10
Definition FieldTrialsView.h:7
Definition ProbeController.h:21
MCAPI bool TimeForNetworkStateProbe(::webrtc::Timestamp at_time) const
MCAPI ::std::vector<::webrtc::ProbeClusterConfig > InitiateExponentialProbing(::webrtc::Timestamp at_time)
MCAPI ::std::vector<::webrtc::ProbeClusterConfig > SetEstimatedBitrate(::webrtc::DataRate bitrate, ::webrtc::BandwidthLimitedCause bandwidth_limited_cause, ::webrtc::Timestamp at_time)
MCAPI ::std::vector<::webrtc::ProbeClusterConfig > OnNetworkAvailability(::webrtc::NetworkAvailability msg)
MCAPI ::std::vector<::webrtc::ProbeClusterConfig > Process(::webrtc::Timestamp at_time)
MCAPI ProbeController(::webrtc::FieldTrialsView const *key_value_config, ::webrtc::RtcEventLog *event_log)
MCAPI void Reset(::webrtc::Timestamp at_time)
MCAPI void SetNetworkStateEstimate(::webrtc::NetworkStateEstimate estimate)
MCAPI void SetAlrStartTimeMs(::std::optional< int64 > alr_start_time_ms)
MCAPI void * $ctor(::webrtc::FieldTrialsView const *key_value_config, ::webrtc::RtcEventLog *event_log)
MCAPI void EnablePeriodicAlrProbing(bool enable)
MCAPI ::std::vector<::webrtc::ProbeClusterConfig > InitiateProbing(::webrtc::Timestamp now, ::std::vector<::webrtc::DataRate > bitrates_to_probe, bool probe_further)
MCAPI ::std::vector<::webrtc::ProbeClusterConfig > RequestProbe(::webrtc::Timestamp at_time)
MCAPI ::std::vector<::webrtc::ProbeClusterConfig > SetBitrates(::webrtc::DataRate min_bitrate, ::webrtc::DataRate start_bitrate, ::webrtc::DataRate max_bitrate, ::webrtc::Timestamp at_time)
MCAPI ::std::vector<::webrtc::ProbeClusterConfig > OnMaxTotalAllocatedBitrate(::webrtc::DataRate max_total_allocated_bitrate, ::webrtc::Timestamp at_time)
MCAPI bool TimeForAlrProbe(::webrtc::Timestamp at_time) const
MCAPI void SetAlrEndedTimeMs(int64 alr_end_time_ms)
Definition RtcEventLog.h:13
Definition Timestamp.h:10
Definition Alias.h:14
Definition NetworkAvailability.h:7
Definition NetworkStateEstimate.h:7