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/cricket/StunRequest.h"
10#include "mc/external/rtc/WeakPtr.h"
11#include "mc/external/webrtc/IceCandidatePairConfigType.h"
12#include "mc/external/webrtc/IceCandidatePairEventType.h"
13#include "mc/external/webrtc/RTCErrorOr.h"
14
15// auto generated forward declare list
16// clang-format off
17namespace cricket { class Candidate; }
18namespace cricket { class IceMessage; }
19namespace cricket { class PortInterface; }
20namespace cricket { class StunAttribute; }
21namespace cricket { class StunByteStringAttribute; }
22namespace cricket { class StunMessage; }
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 MCNAPI ~SentPing();
66 // NOLINTEND
67
68 public:
69 // destructor thunk
70 // NOLINTBEGIN
71 MCNAPI 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 variables
85 // NOLINTBEGIN
87 // NOLINTEND
88
89 public:
90 // prevent constructor by default
91 ConnectionRequest& operator=(ConnectionRequest const&);
94
95 public:
96 // virtual functions
97 // NOLINTBEGIN
98 // vIndex: 2
99 virtual void OnResponse(::cricket::StunMessage* response) /*override*/;
100
101 // vIndex: 3
102 virtual void OnErrorResponse(::cricket::StunMessage* response) /*override*/;
103
104 // vIndex: 5
105 virtual void OnTimeout() /*override*/;
106
107 // vIndex: 6
108 virtual void OnSent() /*override*/;
109
110 // vIndex: 7
111 virtual int resend_delay() /*override*/;
112
113 // vIndex: 0
114 virtual ~ConnectionRequest() /*override*/ = default;
115 // NOLINTEND
116
117 public:
118 // member functions
119 // NOLINTBEGIN
122 ::cricket::Connection* connection,
123 ::std::unique_ptr<::cricket::IceMessage> message
124 );
125 // NOLINTEND
126
127 public:
128 // constructor thunks
129 // NOLINTBEGIN
130 MCNAPI void* $ctor(
132 ::cricket::Connection* connection,
133 ::std::unique_ptr<::cricket::IceMessage> message
134 );
135 // NOLINTEND
136
137 public:
138 // virtual function thunks
139 // NOLINTBEGIN
140 MCNAPI void $OnResponse(::cricket::StunMessage* response);
141
143
144 MCNAPI void $OnTimeout();
145
146 MCNAPI void $OnSent();
147
148 MCNAPI int $resend_delay();
149 // NOLINTEND
150
151 public:
152 // vftables
153 // NOLINTBEGIN
154 MCNAPI static void** $vftable();
155 // NOLINTEND
156 };
157
158public:
159 // member variables
160 // NOLINTBEGIN
213 // NOLINTEND
214
215public:
216 // prevent constructor by default
217 Connection& operator=(Connection const&);
218 Connection(Connection const&);
219 Connection();
220
221public:
222 // virtual functions
223 // NOLINTBEGIN
224 // vIndex: 0
225 virtual ~Connection() /*override*/;
226
227 // vIndex: 1
228 virtual ::cricket::Candidate const& local_candidate() const /*override*/;
229
230 // vIndex: 2
231 virtual ::cricket::Candidate const& remote_candidate() const /*override*/;
232
233 // vIndex: 3
234 virtual ::rtc::Network const* network() const;
235
236 // vIndex: 4
237 virtual int generation() const;
238
239 // vIndex: 5
240 virtual uint64 priority() const;
241
242 // vIndex: 6
243 virtual int Send(void const* data, uint64 len, ::rtc::PacketOptions const& options) = 0;
244
245 // vIndex: 7
246 virtual int GetError() = 0;
247
248 // vIndex: 8
249 virtual void OnConnectionRequestResponse(::cricket::StunRequest* request, ::cricket::StunMessage* response);
250 // NOLINTEND
251
252public:
253 // member functions
254 // NOLINTBEGIN
255 MCNAPI ::std::unique_ptr<::cricket::IceMessage>
256 BuildPingRequest(::std::unique_ptr<::cricket::StunByteStringAttribute> delta);
257
258 MCNAPI uint ComputeNetworkCost() const;
259
261 ::rtc::WeakPtr<::cricket::PortInterface> port,
262 uint64 index,
263 ::cricket::Candidate const& remote_candidate
264 );
265
267
268 MCNAPI void Destroy();
269
270 MCNAPI void FailAndPrune();
271
272 MCNAPI void ForgetLearnedState();
273
275
276 MCNAPI void HandleStunBindingOrGoogPingRequest(::cricket::IceMessage* msg);
277
278 MCNAPI void LogCandidatePairConfig(::webrtc::IceCandidatePairConfigType type);
279
280 MCNAPI void LogCandidatePairEvent(::webrtc::IceCandidatePairEventType type, uint transaction_id);
281
282 MCNAPI void MaybeSetRemoteIceParametersAndGeneration(::cricket::IceParameters const& ice_params, int generation);
283
284 MCNAPI void MaybeUpdateLocalCandidate(::cricket::StunRequest* request, ::cricket::StunMessage* response);
285
286 MCNAPI void MaybeUpdatePeerReflexiveCandidate(::cricket::Candidate const& new_candidate);
287
289 ::cricket::Connection::ConnectionRequest* request,
290 ::cricket::StunMessage* response
291 );
292
293 MCNAPI void OnConnectionRequestSent(::cricket::Connection::ConnectionRequest* request);
294
295 MCNAPI void OnConnectionRequestTimeout(::cricket::Connection::ConnectionRequest* request);
296
297 MCNAPI void OnReadPacket(::rtc::ReceivedPacket const& packet);
298
299 MCNAPI void OnReadyToSend();
300
301 MCNAPI void OnSendStunPacket(void const* data, uint64 size, ::cricket::StunRequest* req);
302
303 MCNAPI void Ping(int64 now, ::std::unique_ptr<::cricket::StunByteStringAttribute> delta);
304
305 MCNAPI void PrintPingsSinceLastResponse(::std::string* s, uint64 max);
306
307 MCNAPI void Prune();
308
309 MCNAPI void ReceivedPing(::std::optional<::std::string> const& request_id);
310
311 MCNAPI void ReceivedPingResponse(int rtt, ::std::string_view request_id, ::std::optional<uint> const& nomination);
312
314 ::absl::AnyInvocable<void(::cricket::Connection*, ::rtc::ReceivedPacket const&)> received_packet_callback
315 );
316
317 MCNAPI void SendGoogPingResponse(::cricket::StunMessage const* message);
318
319 MCNAPI void SendResponseMessage(::cricket::StunMessage const& response);
320
321 MCNAPI void SendStunBindingResponse(::cricket::StunMessage const* message);
322
323 MCNAPI void SetIceFieldTrials(::cricket::IceFieldTrials const* field_trials);
324
325 MCNAPI void SetLocalCandidateNetworkCost(ushort cost);
326
328 ::std::function<::std::unique_ptr<::cricket::StunAttribute>(::cricket::StunByteStringAttribute const*)>
329 goog_delta_consumer,
330 ::std::function<void(::webrtc::RTCErrorOr<::cricket::StunUInt64Attribute const*>)> goog_delta_ack_consumer
331 );
332
333 MCNAPI bool ShouldSendGoogPing(::cricket::StunMessage const* message);
334
335 MCNAPI bool Shutdown();
336
337 MCNAPI ::std::string ToDebugId() const;
338
339 MCNAPI ::webrtc::IceCandidatePairDescription const& ToLogDescription();
340
341 MCNAPI ::std::string ToString() const;
342
343 MCNAPI bool TooManyOutstandingPings(::std::optional<int> const& max_outstanding_pings) const;
344
345 MCNAPI void
346 UpdateLocalIceParameters(int component, ::std::string_view username_fragment, ::std::string_view password);
347
348 MCNAPI void UpdateReceiving(int64 now);
349
350 MCNAPI void UpdateState(int64 now);
351
352 MCNAPI uint acked_nomination() const;
353
354 MCNAPI bool active() const;
355
356 MCNAPI bool connected() const;
357
358 MCNAPI bool dead(int64 now) const;
359
360 MCNAPI int inactive_timeout() const;
361
362 MCNAPI int64 last_data_received() const;
363
364 MCNAPI int64 last_ping_received() const;
365
366 MCNAPI int64 last_ping_response_received() const;
367
368 MCNAPI int64 last_ping_sent() const;
369
370 MCNAPI int64 last_received() const;
371
372 MCNAPI bool missing_responses(int64 now) const;
373
374 MCNAPI ::webrtc::TaskQueueBase* network_thread() const;
375
376 MCNAPI bool nominated() const;
377
378 MCNAPI int num_pings_sent() const;
379
380 MCNAPI ::cricket::PortInterface* port();
381
382 MCNAPI uint prflx_priority() const;
383
384 MCNAPI bool receiving() const;
385
386 MCNAPI int receiving_timeout() const;
387
388 MCNAPI int64 receiving_unchanged_since() const;
389
390 MCNAPI uint remote_nomination() const;
391
392 MCNAPI int rtt() const;
393
394 MCNAPI bool rtt_converged() const;
395
396 MCNAPI int rtt_samples() const;
397
398 MCNAPI void set_connected(bool value);
399
400 MCNAPI void set_ice_event_log(::webrtc::IceEventLog* ice_event_log);
401
402 MCNAPI void set_inactive_timeout(::std::optional<int> const& value);
403
404 MCNAPI void set_nomination(uint value);
405
406 MCNAPI void set_receiving_timeout(::std::optional<int> receiving_timeout_ms);
407
409
410 MCNAPI void set_selected(bool selected);
411
412 MCNAPI void set_state(::cricket::IceCandidatePairState state);
413
414 MCNAPI void set_unwritable_min_checks(::std::optional<int> const& value);
415
416 MCNAPI void set_unwritable_timeout(::std::optional<int> const& value_ms);
417
418 MCNAPI void set_use_candidate_attr(bool enable);
419
420 MCNAPI void set_write_state(::cricket::Connection::WriteState value);
421
422 MCNAPI bool stable(int64 now) const;
423
424 MCNAPI ::cricket::IceCandidatePairState state() const;
425
426 MCNAPI ::cricket::ConnectionInfo stats();
427
428 MCNAPI int unwritable_min_checks() const;
429
430 MCNAPI int unwritable_timeout() const;
431
432 MCNAPI bool use_candidate_attr() const;
433
434 MCNAPI bool weak() const;
435
436 MCNAPI bool writable() const;
437
438 MCNAPI ::cricket::Connection::WriteState write_state() const;
439 // NOLINTEND
440
441public:
442 // constructor thunks
443 // NOLINTBEGIN
444 MCNAPI void*
445 $ctor(::rtc::WeakPtr<::cricket::PortInterface> port, uint64 index, ::cricket::Candidate const& remote_candidate);
446 // NOLINTEND
447
448public:
449 // destructor thunk
450 // NOLINTBEGIN
451 MCNAPI void $dtor();
452 // NOLINTEND
453
454public:
455 // virtual function thunks
456 // NOLINTBEGIN
457 MCNAPI ::cricket::Candidate const& $local_candidate() const;
458
459 MCNAPI ::cricket::Candidate const& $remote_candidate() const;
460
461 MCNAPI ::rtc::Network const* $network() const;
462
463 MCNAPI int $generation() const;
464
465 MCNAPI uint64 $priority() const;
466
467 MCNAPI void $OnConnectionRequestResponse(::cricket::StunRequest* request, ::cricket::StunMessage* response);
468 // NOLINTEND
469
470public:
471 // vftables
472 // NOLINTBEGIN
473 MCNAPI static void** $vftable();
474 // NOLINTEND
475};
476
477} // namespace cricket
Definition WeakPtr.h:10
Definition CandidatePairInterface.h:12
Definition Candidate.h:15
Definition Connection.h:82
MCAPI void $OnErrorResponse(::cricket::StunMessage *response)
MCAPI void $OnResponse(::cricket::StunMessage *response)
MCAPI ConnectionRequest(::cricket::StunRequestManager &manager, ::cricket::Connection *connection, ::std::unique_ptr<::cricket::IceMessage > message)
MCAPI void * $ctor(::cricket::StunRequestManager &manager, ::cricket::Connection *connection, ::std::unique_ptr<::cricket::IceMessage > message)
Definition Connection.h:38
MCAPI int receiving_timeout() const
MCAPI void OnReadPacket(::rtc::ReceivedPacket const &packet)
MCAPI void HandleStunBindingOrGoogPingRequest(::cricket::IceMessage *msg)
MCAPI int64 last_ping_received() const
MCAPI void SetLocalCandidateNetworkCost(ushort cost)
MCAPI int64 receiving_unchanged_since() const
MCAPI int64 last_ping_response_received() const
MCAPI void set_nomination(uint value)
MCAPI bool nominated() const
static MCAPI void ** $vftable()
MCAPI int64 last_received() const
MCAPI::cricket::Candidate const & $remote_candidate() const
MCAPI void * $ctor(::rtc::WeakPtr<::cricket::PortInterface > port, uint64 index, ::cricket::Candidate const &remote_candidate)
MCAPI void FailAndPrune()
MCAPI void UpdateReceiving(int64 now)
MCAPI bool TooManyOutstandingPings(::std::optional< int > const &max_outstanding_pings) const
MCAPI::cricket::Connection::WriteState write_state() const
MCAPI void RegisterReceivedPacketCallback(::absl::AnyInvocable< void(::cricket::Connection *, ::rtc::ReceivedPacket const &)> received_packet_callback)
MCAPI void $dtor()
MCAPI void set_selected(bool selected)
MCAPI void LogCandidatePairEvent(::webrtc::IceCandidatePairEventType type, uint transaction_id)
MCAPI void OnConnectionRequestTimeout(::cricket::Connection::ConnectionRequest *request)
MCAPI int num_pings_sent() const
MCAPI void set_unwritable_timeout(::std::optional< int > const &value_ms)
MCAPI int64 last_data_received() const
MCAPI void set_connected(bool value)
MCAPI void SetStunDictConsumer(::std::function<::std::unique_ptr<::cricket::StunAttribute >(::cricket::StunByteStringAttribute const *)> goog_delta_consumer, ::std::function< void(::webrtc::RTCErrorOr<::cricket::StunUInt64Attribute const * >)> goog_delta_ack_consumer)
MCAPI bool dead(int64 now) const
MCAPI::webrtc::TaskQueueBase * network_thread() const
MCAPI::cricket::ConnectionInfo stats()
MCAPI::webrtc::IceCandidatePairDescription const & ToLogDescription()
MCAPI void set_use_candidate_attr(bool enable)
MCAPI bool stable(int64 now) const
MCAPI bool weak() const
MCAPI bool active() const
MCAPI::rtc::Network const * $network() const
MCAPI void UpdateState(int64 now)
MCAPI void set_state(::cricket::IceCandidatePairState state)
MCAPI int rtt() const
MCAPI int inactive_timeout() const
MCAPI bool Shutdown()
MCAPI void set_unwritable_min_checks(::std::optional< int > const &value)
MCAPI void ReceivedPing(::std::optional<::std::string > const &request_id)
MCAPI bool missing_responses(int64 now) const
MCAPI::cricket::PortInterface * port()
MCAPI uint prflx_priority() const
MCAPI void SetIceFieldTrials(::cricket::IceFieldTrials const *field_trials)
MCAPI void Destroy()
MCAPI bool connected() const
MCAPI uint acked_nomination() const
MCAPI void ForgetLearnedState()
MCAPI void MaybeSetRemoteIceParametersAndGeneration(::cricket::IceParameters const &ice_params, int generation)
MCAPI int64 last_ping_sent() const
MCAPI void SendStunBindingResponse(::cricket::StunMessage const *message)
MCAPI int rtt_samples() const
MCAPI bool receiving() const
MCAPI void OnConnectionRequestSent(::cricket::Connection::ConnectionRequest *request)
MCAPI void set_inactive_timeout(::std::optional< int > const &value)
MCAPI void MaybeUpdateLocalCandidate(::cricket::StunRequest *request, ::cricket::StunMessage *response)
MCAPI bool rtt_converged() const
MCAPI void UpdateLocalIceParameters(int component, ::std::string_view username_fragment, ::std::string_view password)
MCAPI void PrintPingsSinceLastResponse(::std::string *s, uint64 max)
MCAPI void ReceivedPingResponse(int rtt, ::std::string_view request_id, ::std::optional< uint > const &nomination)
MCAPI void set_remote_nomination(uint remote_nomination)
MCAPI uint ComputeNetworkCost() const
MCAPI void OnConnectionRequestErrorResponse(::cricket::Connection::ConnectionRequest *request, ::cricket::StunMessage *response)
MCAPI ::std::unique_ptr<::cricket::IceMessage > BuildPingRequest(::std::unique_ptr<::cricket::StunByteStringAttribute > delta)
MCAPI bool use_candidate_attr() const
MCAPI::std::string ToDebugId() const
MCAPI void set_receiving_timeout(::std::optional< int > receiving_timeout_ms)
MCAPI int unwritable_timeout() const
MCAPI uint remote_nomination() const
MCAPI void SendGoogPingResponse(::cricket::StunMessage const *message)
MCAPI bool ShouldSendGoogPing(::cricket::StunMessage const *message)
MCAPI void SendResponseMessage(::cricket::StunMessage const &response)
MCAPI bool writable() const
MCAPI::cricket::IceCandidatePairState state() const
MCAPI void set_ice_event_log(::webrtc::IceEventLog *ice_event_log)
MCAPI::cricket::Candidate const & $local_candidate() const
MCAPI void MaybeUpdatePeerReflexiveCandidate(::cricket::Candidate const &new_candidate)
MCAPI void OnReadyToSend()
MCAPI int unwritable_min_checks() const
MCAPI int $generation() const
MCAPI void $OnConnectionRequestResponse(::cricket::StunRequest *request, ::cricket::StunMessage *response)
MCAPI uint64 $priority() const
MCAPI void OnSendStunPacket(void const *data, uint64 size, ::cricket::StunRequest *req)
MCAPI void set_write_state(::cricket::Connection::WriteState value)
MCAPI void Prune()
MCAPI void HandlePiggybackCheckAcknowledgementIfAny(::cricket::StunMessage *msg)
MCAPI::std::string ToString() const
MCAPI void LogCandidatePairConfig(::webrtc::IceCandidatePairConfigType type)
MCAPI void DeregisterReceivedPacketCallback()
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