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
21class ProbeController {
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
55 // NOLINTEND
56
57public:
58 // prevent constructor by default
59 ProbeController& operator=(ProbeController const&);
60 ProbeController(ProbeController const&);
61 ProbeController();
62
63public:
64 // member functions
65 // NOLINTBEGIN
66 MCNAPI void EnablePeriodicAlrProbing(bool enable);
67
68 MCNAPI void EnableRepeatedInitialProbing(bool enable);
69
70 MCNAPI ::std::vector<::webrtc::ProbeClusterConfig> InitiateExponentialProbing(::webrtc::Timestamp at_time);
71
72 MCNAPI ::std::vector<::webrtc::ProbeClusterConfig>
73 InitiateProbing(::webrtc::Timestamp now, ::std::vector<::webrtc::DataRate> bitrates_to_probe, bool probe_further);
74
75 MCNAPI ::std::vector<::webrtc::ProbeClusterConfig>
77
78 MCNAPI ::std::vector<::webrtc::ProbeClusterConfig> OnNetworkAvailability(::webrtc::NetworkAvailability msg);
79
80 MCNAPI ProbeController(::webrtc::FieldTrialsView const* key_value_config, ::webrtc::RtcEventLog* event_log);
81
82 MCNAPI ::std::vector<::webrtc::ProbeClusterConfig> Process(::webrtc::Timestamp at_time);
83
84 MCNAPI ::std::vector<::webrtc::ProbeClusterConfig> RequestProbe(::webrtc::Timestamp at_time);
85
86 MCNAPI void Reset(::webrtc::Timestamp at_time);
87
88 MCNAPI void SetAlrEndedTime(::webrtc::Timestamp alr_end_time);
89
90 MCNAPI void SetAlrStartTime(::std::optional<::webrtc::Timestamp> alr_start_time);
91
92 MCNAPI ::std::vector<::webrtc::ProbeClusterConfig> SetBitrates(
93 ::webrtc::DataRate min_bitrate,
94 ::webrtc::DataRate start_bitrate,
95 ::webrtc::DataRate max_bitrate,
97 );
98
99 MCNAPI ::std::vector<::webrtc::ProbeClusterConfig> SetEstimatedBitrate(
100 ::webrtc::DataRate bitrate,
101 ::webrtc::BandwidthLimitedCause bandwidth_limited_cause,
102 ::webrtc::Timestamp at_time
103 );
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
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 void SetAlrStartTime(::std::optional<::webrtc::Timestamp > alr_start_time)
MCAPI void SetAlrEndedTime(::webrtc::Timestamp alr_end_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 * $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 void EnableRepeatedInitialProbing(bool enable)
Definition RtcEventLog.h:13
Definition Timestamp.h:15
Definition Alias.h:14
Definition NetworkAvailability.h:7
Definition NetworkStateEstimate.h:7
Definition ProbeClusterConfig.h:7