LeviLamina
Loading...
Searching...
No Matches
Connection.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/external/absl/AnyInvocable.h"
7#include "mc/external/cricket/CandidatePairInterface.h"
8#include "mc/external/cricket/IceCandidatePairState.h"
9#include "mc/external/rtc/WeakPtr.h"
10#include "mc/external/webrtc/IceCandidatePairConfigType.h"
11#include "mc/external/webrtc/IceCandidatePairEventType.h"
12#include "mc/external/webrtc/RTCErrorOr.h"
13
14// auto generated forward declare list
15// clang-format off
16namespace cricket { class Candidate; }
17namespace cricket { class IceMessage; }
18namespace cricket { class PortInterface; }
19namespace cricket { class StunAttribute; }
20namespace cricket { class StunByteStringAttribute; }
21namespace cricket { class StunMessage; }
22namespace cricket { class StunRequest; }
23namespace cricket { class StunRequestManager; }
24namespace cricket { class StunUInt64Attribute; }
25namespace cricket { struct ConnectionInfo; }
26namespace cricket { struct IceFieldTrials; }
27namespace cricket { struct IceParameters; }
28namespace rtc { class Network; }
29namespace rtc { class ReceivedPacket; }
30namespace rtc { struct PacketOptions; }
31namespace webrtc { class IceCandidatePairDescription; }
32namespace webrtc { class IceEventLog; }
33namespace webrtc { class TaskQueueBase; }
34// clang-format on
35
36namespace cricket {
37
39public:
40 // Connection inner types declare
41 // clang-format off
43 struct SentPing;
44 // clang-format on
45
46 // Connection inner types define
47 struct SentPing {
48 public:
49 // member variables
50 // NOLINTBEGIN
54 // NOLINTEND
55
56 public:
57 // prevent constructor by default
58 SentPing& operator=(SentPing const&);
59 SentPing(SentPing const&);
60 SentPing();
61
62 public:
63 // member functions
64 // NOLINTBEGIN
65 MCAPI ~SentPing();
66 // NOLINTEND
67
68 public:
69 // destructor thunk
70 // NOLINTBEGIN
71 MCAPI void $dtor();
72 // NOLINTEND
73 };
74
75 enum class WriteState : int {
76 Writable = 0,
77 WriteUnreliable = 1,
78 WriteInit = 2,
79 WriteTimeout = 3,
80 };
81
83 public:
84 // member functions
85 // NOLINTBEGIN
86 MCAPI
87 ConnectionRequest(::cricket::StunRequestManager&, ::cricket::Connection*, ::std::unique_ptr<::cricket::IceMessage>);
88 // NOLINTEND
89
90 public:
91 // constructor thunks
92 // NOLINTBEGIN
93 MCAPI void*
94 $ctor(::cricket::StunRequestManager&, ::cricket::Connection*, ::std::unique_ptr<::cricket::IceMessage>);
95 // NOLINTEND
96
97 public:
98 // vftables
99 // NOLINTBEGIN
100 MCAPI static void** $vftable();
101 // NOLINTEND
102 };
103
104public:
105 // member variables
106 // NOLINTBEGIN
159 // NOLINTEND
160
161public:
162 // prevent constructor by default
163 Connection& operator=(Connection const&);
164 Connection(Connection const&);
165 Connection();
166
167public:
168 // virtual functions
169 // NOLINTBEGIN
170 // vIndex: 0
171 virtual ~Connection() /*override*/ = default;
172
173 // vIndex: 1
174 virtual ::cricket::Candidate const& local_candidate() const /*override*/;
175
176 // vIndex: 2
177 virtual ::cricket::Candidate const& remote_candidate() const /*override*/;
178
179 // vIndex: 3
180 virtual ::rtc::Network const* network() const;
181
182 // vIndex: 4
183 virtual int generation() const;
184
185 // vIndex: 5
186 virtual uint64 priority() const;
187
188 // vIndex: 6
189 virtual int Send(void const*, uint64, ::rtc::PacketOptions const&) = 0;
190
191 // vIndex: 7
192 virtual int GetError() = 0;
193
194 // vIndex: 8
195 virtual void OnConnectionRequestResponse(::cricket::StunRequest*, ::cricket::StunMessage*);
196 // NOLINTEND
197
198public:
199 // member functions
200 // NOLINTBEGIN
201 MCAPI ::std::unique_ptr<::cricket::IceMessage>
202 BuildPingRequest(::std::unique_ptr<::cricket::StunByteStringAttribute>);
203
204 MCAPI uint ComputeNetworkCost() const;
205
206 MCAPI Connection(::rtc::WeakPtr<::cricket::PortInterface>, uint64, ::cricket::Candidate const&);
207
208 MCAPI void DeregisterReceivedPacketCallback();
209
210 MCAPI void Destroy();
211
212 MCAPI void FailAndPrune();
213
214 MCAPI void ForgetLearnedState();
215
216 MCAPI void HandlePiggybackCheckAcknowledgementIfAny(::cricket::StunMessage*);
217
218 MCAPI void HandleStunBindingOrGoogPingRequest(::cricket::IceMessage*);
219
220 MCAPI void LogCandidatePairConfig(::webrtc::IceCandidatePairConfigType);
221
222 MCAPI void LogCandidatePairEvent(::webrtc::IceCandidatePairEventType, uint);
223
224 MCAPI void MaybeSetRemoteIceParametersAndGeneration(::cricket::IceParameters const&, int);
225
226 MCAPI void MaybeUpdateLocalCandidate(::cricket::StunRequest*, ::cricket::StunMessage*);
227
228 MCAPI void MaybeUpdatePeerReflexiveCandidate(::cricket::Candidate const&);
229
230 MCAPI void OnConnectionRequestErrorResponse(::cricket::Connection::ConnectionRequest*, ::cricket::StunMessage*);
231
232 MCAPI void OnConnectionRequestSent(::cricket::Connection::ConnectionRequest*);
233
234 MCAPI void OnConnectionRequestTimeout(::cricket::Connection::ConnectionRequest*);
235
236 MCAPI void OnReadPacket(::rtc::ReceivedPacket const&);
237
238 MCAPI void OnReadyToSend();
239
240 MCAPI void OnSendStunPacket(void const*, uint64, ::cricket::StunRequest*);
241
242 MCAPI void Ping(int64, ::std::unique_ptr<::cricket::StunByteStringAttribute>);
243
244 MCAPI void PrintPingsSinceLastResponse(::std::string*, uint64);
245
246 MCAPI void Prune();
247
248 MCAPI void ReceivedPing(::std::optional<::std::string> const&);
249
250 MCAPI void ReceivedPingResponse(int, ::std::string_view, ::std::optional<uint> const&);
251
252 MCAPI void RegisterReceivedPacketCallback(::absl::AnyInvocable<
253 void(::cricket::Connection*, ::rtc::ReceivedPacket const&)>);
254
255 MCAPI void SendGoogPingResponse(::cricket::StunMessage const*);
256
257 MCAPI void SendResponseMessage(::cricket::StunMessage const&);
258
259 MCAPI void SendStunBindingResponse(::cricket::StunMessage const*);
260
261 MCAPI void SetIceFieldTrials(::cricket::IceFieldTrials const*);
262
263 MCAPI void SetLocalCandidateNetworkCost(ushort);
264
265 MCAPI void
266 SetStunDictConsumer(::std::function<::std::unique_ptr<::cricket::StunAttribute>(::cricket::StunByteStringAttribute const*)>, ::std::function<void(::webrtc::RTCErrorOr<::cricket::StunUInt64Attribute const*>)>);
267
268 MCAPI bool ShouldSendGoogPing(::cricket::StunMessage const*);
269
270 MCAPI bool Shutdown();
271
272 MCAPI ::std::string ToDebugId() const;
273
274 MCAPI ::webrtc::IceCandidatePairDescription const& ToLogDescription();
275
276 MCAPI ::std::string ToString() const;
277
278 MCAPI bool TooManyOutstandingPings(::std::optional<int> const&) const;
279
280 MCAPI void UpdateLocalIceParameters(int, ::std::string_view, ::std::string_view);
281
282 MCAPI void UpdateReceiving(int64);
283
284 MCAPI void UpdateState(int64);
285
286 MCAPI uint acked_nomination() const;
287
288 MCAPI bool active() const;
289
290 MCAPI bool connected() const;
291
292 MCAPI bool dead(int64) const;
293
294 MCAPI int inactive_timeout() const;
295
296 MCAPI int64 last_data_received() const;
297
298 MCAPI int64 last_ping_received() const;
299
300 MCAPI int64 last_ping_response_received() const;
301
302 MCAPI int64 last_ping_sent() const;
303
304 MCAPI int64 last_received() const;
305
306 MCAPI bool missing_responses(int64) const;
307
308 MCAPI ::webrtc::TaskQueueBase* network_thread() const;
309
310 MCAPI bool nominated() const;
311
312 MCAPI int num_pings_sent() const;
313
314 MCAPI ::cricket::PortInterface* port();
315
316 MCAPI uint prflx_priority() const;
317
318 MCAPI bool receiving() const;
319
320 MCAPI int receiving_timeout() const;
321
322 MCAPI int64 receiving_unchanged_since() const;
323
324 MCAPI uint remote_nomination() const;
325
326 MCAPI int rtt() const;
327
328 MCAPI bool rtt_converged() const;
329
330 MCAPI int rtt_samples() const;
331
332 MCAPI void set_connected(bool);
333
334 MCAPI void set_ice_event_log(::webrtc::IceEventLog*);
335
336 MCAPI void set_inactive_timeout(::std::optional<int> const&);
337
338 MCAPI void set_nomination(uint);
339
340 MCAPI void set_receiving_timeout(::std::optional<int>);
341
342 MCAPI void set_remote_nomination(uint);
343
344 MCAPI void set_selected(bool);
345
346 MCAPI void set_state(::cricket::IceCandidatePairState);
347
348 MCAPI void set_unwritable_min_checks(::std::optional<int> const&);
349
350 MCAPI void set_unwritable_timeout(::std::optional<int> const&);
351
352 MCAPI void set_use_candidate_attr(bool);
353
354 MCAPI void set_write_state(::cricket::Connection::WriteState);
355
356 MCAPI bool stable(int64) const;
357
358 MCAPI ::cricket::IceCandidatePairState state() const;
359
360 MCAPI ::cricket::ConnectionInfo stats();
361
362 MCAPI int unwritable_min_checks() const;
363
364 MCAPI int unwritable_timeout() const;
365
366 MCAPI bool use_candidate_attr() const;
367
368 MCAPI bool weak() const;
369
370 MCAPI bool writable() const;
371
372 MCAPI ::cricket::Connection::WriteState write_state() const;
373 // NOLINTEND
374
375public:
376 // constructor thunks
377 // NOLINTBEGIN
378 MCAPI void* $ctor(::rtc::WeakPtr<::cricket::PortInterface>, uint64, ::cricket::Candidate const&);
379 // NOLINTEND
380
381public:
382 // destructor thunk
383 // NOLINTBEGIN
384
385 // NOLINTEND
386
387public:
388 // virtual function thunks
389 // NOLINTBEGIN
390
391 // NOLINTEND
392
393public:
394 // vftables
395 // NOLINTBEGIN
396 MCAPI static void** $vftable();
397 // NOLINTEND
398};
399
400} // namespace cricket
Definition WeakPtr.h:10
Definition CandidatePairInterface.h:12
Definition Candidate.h:15
Definition Connection.h:82
Definition Connection.h:38
Definition IceMessage.h:11
Definition PortInterface.h:29
Definition StunAttribute.h:20
Definition StunByteStringAttribute.h:17
Definition StunMessage.h:23
Definition StunRequestManager.h:14
Definition StunRequest.h:14
Definition StunUInt64Attribute.h:17
STL namespace.
Definition ConnectionInfo.h:7
Definition Connection.h:47
Definition IceFieldTrials.h:7
Definition IceParameters.h:12
Definition Alias.h:14