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
12// auto generated forward declare list
13// clang-format off
14namespace cricket { class Candidate; }
15namespace cricket { class IceMessage; }
16namespace cricket { class PortInterface; }
17namespace cricket { class StunByteStringAttribute; }
18namespace cricket { class StunMessage; }
19namespace cricket { class StunRequestManager; }
20namespace cricket { struct ConnectionInfo; }
21namespace cricket { struct IceFieldTrials; }
22namespace cricket { struct IceParameters; }
23namespace rtc { class Network; }
24namespace rtc { class ReceivedPacket; }
25namespace rtc { struct PacketOptions; }
26namespace webrtc { class IceCandidatePairDescription; }
27namespace webrtc { class IceEventLog; }
28namespace webrtc { class TaskQueueBase; }
29// clang-format on
30
31namespace cricket {
32
33class Connection : public ::cricket::CandidatePairInterface {
34public:
35 // Connection inner types declare
36 // clang-format off
38 struct SentPing;
39 // clang-format on
40
41 // Connection inner types define
42 enum class WriteState : int {
43 Writable = 0,
44 WriteUnreliable = 1,
45 WriteInit = 2,
46 WriteTimeout = 3,
47 };
48
49 class ConnectionRequest : public ::cricket::StunRequest {
50 public:
51 // member variables
52 // NOLINTBEGIN
54 // NOLINTEND
55
56 public:
57 // prevent constructor by default
58 ConnectionRequest& operator=(ConnectionRequest const&);
59 ConnectionRequest(ConnectionRequest const&);
60 ConnectionRequest();
61
62 public:
63 // virtual functions
64 // NOLINTBEGIN
65 virtual void OnResponse(::cricket::StunMessage* response) /*override*/;
66
67 virtual void OnErrorResponse(::cricket::StunMessage* response) /*override*/;
68
69 virtual void OnTimeout() /*override*/;
70
71 virtual void OnSent() /*override*/;
72
73 virtual int resend_delay() /*override*/;
74
75 virtual ~ConnectionRequest() /*override*/ = default;
76 // NOLINTEND
77
78 public:
79 // member functions
80 // NOLINTBEGIN
83 ::cricket::Connection* connection,
84 ::std::unique_ptr<::cricket::IceMessage> message
85 );
86 // NOLINTEND
87
88 public:
89 // constructor thunks
90 // NOLINTBEGIN
91 MCNAPI void* $ctor(
93 ::cricket::Connection* connection,
94 ::std::unique_ptr<::cricket::IceMessage> message
95 );
96 // NOLINTEND
97
98 public:
99 // virtual function thunks
100 // NOLINTBEGIN
101 MCNAPI void $OnResponse(::cricket::StunMessage* response);
102
104
105 MCNAPI void $OnTimeout();
106
107 MCNAPI void $OnSent();
108
109 MCNAPI int $resend_delay();
110
111
112 // NOLINTEND
113
114 public:
115 // vftables
116 // NOLINTBEGIN
117 MCNAPI static void** $vftable();
118 // NOLINTEND
119 };
120
121 struct SentPing {
122 public:
123 // member variables
124 // NOLINTBEGIN
128 // NOLINTEND
129
130 public:
131 // prevent constructor by default
132 SentPing& operator=(SentPing const&);
133 SentPing(SentPing const&);
134 SentPing();
135
136 public:
137 // member functions
138 // NOLINTBEGIN
139 MCNAPI ~SentPing();
140 // NOLINTEND
141
142 public:
143 // destructor thunk
144 // NOLINTBEGIN
145 MCNAPI void $dtor();
146 // NOLINTEND
147 };
148
149public:
150 // member variables
151 // NOLINTBEGIN
204 // NOLINTEND
205
206public:
207 // prevent constructor by default
208 Connection& operator=(Connection const&);
209 Connection(Connection const&);
210 Connection();
211
212public:
213 // virtual functions
214 // NOLINTBEGIN
215 virtual ~Connection() /*override*/;
216
217 virtual ::cricket::Candidate const& local_candidate() const /*override*/;
218
219 virtual ::cricket::Candidate const& remote_candidate() const /*override*/;
220
221 virtual ::rtc::Network const* network() const;
222
223 virtual int generation() const;
224
225 virtual uint64 priority() const;
226
227 virtual int Send(void const*, uint64, ::rtc::PacketOptions const&) = 0;
228
229 virtual int GetError() = 0;
230
231 virtual void OnConnectionRequestResponse(::cricket::StunRequest* request, ::cricket::StunMessage* response);
232 // NOLINTEND
233
234public:
235 // member functions
236 // NOLINTBEGIN
237 MCNAPI ::std::unique_ptr<::cricket::IceMessage>
238 BuildPingRequest(::std::unique_ptr<::cricket::StunByteStringAttribute> delta);
239
240 MCNAPI uint ComputeNetworkCost() const;
241
242 MCNAPI Connection(
243 ::rtc::WeakPtr<::cricket::PortInterface> port,
244 uint64 index,
245 ::cricket::Candidate const& remote_candidate
246 );
247
249
250 MCNAPI void Destroy();
251
252 MCNAPI void FailAndPrune();
253
254 MCNAPI void ForgetLearnedState();
255
257
258 MCNAPI void HandleStunBindingOrGoogPingRequest(::cricket::IceMessage* msg);
259
260 MCNAPI void MaybeSetRemoteIceParametersAndGeneration(::cricket::IceParameters const& ice_params, int generation);
261
262 MCNAPI void MaybeUpdateLocalCandidate(::cricket::StunRequest* request, ::cricket::StunMessage* response);
263
264 MCNAPI void MaybeUpdatePeerReflexiveCandidate(::cricket::Candidate const& new_candidate);
265
267 ::cricket::Connection::ConnectionRequest* request,
268 ::cricket::StunMessage* response
269 );
270
271 MCNAPI void OnConnectionRequestSent(::cricket::Connection::ConnectionRequest* request);
272
273 MCNAPI void OnConnectionRequestTimeout(::cricket::Connection::ConnectionRequest* request);
274
275 MCNAPI void OnReadPacket(::rtc::ReceivedPacket const& packet);
276
277 MCNAPI void OnReadyToSend();
278
279 MCNAPI void OnSendStunPacket(void const* data, uint64 size, ::cricket::StunRequest* req);
280
281 MCNAPI void Ping(int64 now, ::std::unique_ptr<::cricket::StunByteStringAttribute> delta);
282
283 MCNAPI void PrintPingsSinceLastResponse(::std::string* s, uint64 max);
284
285 MCNAPI void Prune();
286
287 MCNAPI void ReceivedPing(::std::optional<::std::string> const& request_id);
288
289 MCNAPI void ReceivedPingResponse(int rtt, ::std::string_view request_id, ::std::optional<uint> const& nomination);
290
292 ::absl::AnyInvocable<void(::cricket::Connection*, ::rtc::ReceivedPacket const&)> received_packet_callback
293 );
294
295 MCNAPI void SendResponseMessage(::cricket::StunMessage const& response);
296
297 MCNAPI void SendStunBindingResponse(::cricket::StunMessage const* message);
298
299 MCNAPI void SetIceFieldTrials(::cricket::IceFieldTrials const* field_trials);
300
301 MCNAPI void SetLocalCandidateNetworkCost(ushort cost);
302
303 MCNAPI bool Shutdown();
304
305 MCNAPI ::webrtc::IceCandidatePairDescription const& ToLogDescription();
306
307 MCNAPI ::std::string ToString() const;
308
309 MCNAPI bool TooManyOutstandingPings(::std::optional<int> const& max_outstanding_pings) const;
310
311 MCNAPI void
312 UpdateLocalIceParameters(int component, ::std::string_view username_fragment, ::std::string_view password);
313
314 MCNAPI void UpdateReceiving(int64 now);
315
316 MCNAPI void UpdateState(int64 now);
317
318 MCNAPI bool active() const;
319
320 MCNAPI bool connected() const;
321
322 MCNAPI int64 last_data_received() const;
323
324 MCNAPI int64 last_ping_received() const;
325
326 MCNAPI int64 last_ping_response_received() const;
327
328 MCNAPI int64 last_ping_sent() const;
329
330 MCNAPI int64 last_received() const;
331
332 MCNAPI ::webrtc::TaskQueueBase* network_thread() const;
333
334 MCNAPI bool nominated() const;
335
336 MCNAPI int num_pings_sent() const;
337
338 MCNAPI ::cricket::PortInterface* port();
339
340 MCNAPI bool receiving() const;
341
342 MCNAPI int64 receiving_unchanged_since() const;
343
344 MCNAPI uint remote_nomination() const;
345
346 MCNAPI int rtt() const;
347
348 MCNAPI int rtt_samples() const;
349
350 MCNAPI void set_connected(bool value);
351
352 MCNAPI void set_ice_event_log(::webrtc::IceEventLog* ice_event_log);
353
354 MCNAPI void set_inactive_timeout(::std::optional<int> const& value);
355
356 MCNAPI void set_nomination(uint value);
357
358 MCNAPI void set_receiving_timeout(::std::optional<int> receiving_timeout_ms);
359
360 MCNAPI void set_selected(bool selected);
361
362 MCNAPI void set_state(::cricket::IceCandidatePairState state);
363
364 MCNAPI void set_unwritable_min_checks(::std::optional<int> const& value);
365
366 MCNAPI void set_unwritable_timeout(::std::optional<int> const& value_ms);
367
368 MCNAPI void set_use_candidate_attr(bool enable);
369
370 MCNAPI void set_write_state(::cricket::Connection::WriteState value);
371
372 MCNAPI bool stable(int64 now) const;
373
374 MCNAPI ::cricket::IceCandidatePairState state() const;
375
376 MCNAPI ::cricket::ConnectionInfo stats();
377
378 MCNAPI bool weak() const;
379
380 MCNAPI bool writable() const;
381
382 MCNAPI ::cricket::Connection::WriteState write_state() const;
383 // NOLINTEND
384
385public:
386 // constructor thunks
387 // NOLINTBEGIN
388 MCNAPI void*
389 $ctor(::rtc::WeakPtr<::cricket::PortInterface> port, uint64 index, ::cricket::Candidate const& remote_candidate);
390 // NOLINTEND
391
392public:
393 // destructor thunk
394 // NOLINTBEGIN
395 MCNAPI void $dtor();
396 // NOLINTEND
397
398public:
399 // virtual function thunks
400 // NOLINTBEGIN
401 MCNAPI ::cricket::Candidate const& $local_candidate() const;
402
403 MCNAPI ::cricket::Candidate const& $remote_candidate() const;
404
405 MCNAPI ::rtc::Network const* $network() const;
406
407 MCNAPI int $generation() const;
408
409 MCNAPI uint64 $priority() const;
410
411 MCNAPI void $OnConnectionRequestResponse(::cricket::StunRequest* request, ::cricket::StunMessage* response);
412
413
414 // NOLINTEND
415
416public:
417 // vftables
418 // NOLINTBEGIN
419 MCNAPI static void** $vftable();
420 // NOLINTEND
421};
422
423} // namespace cricket
Definition WeakPtr.h:10
Definition CandidatePairInterface.h:12
Definition Candidate.h:15
Definition Connection.h:49
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:33
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 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::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 bool Shutdown()
MCAPI void set_unwritable_min_checks(::std::optional< int > const &value)
MCAPI void ReceivedPing(::std::optional<::std::string > const &request_id)
MCAPI::cricket::PortInterface * port()
MCAPI void SetIceFieldTrials(::cricket::IceFieldTrials const *field_trials)
MCAPI void Destroy()
MCAPI bool connected() 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 void Ping(int64 now, ::std::unique_ptr<::cricket::StunByteStringAttribute > delta)
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 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 void set_receiving_timeout(::std::optional< int > receiving_timeout_ms)
MCAPI uint remote_nomination() const
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 $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 DeregisterReceivedPacketCallback()
Definition IceMessage.h:11
Definition PortInterface.h:29
Definition StunByteStringAttribute.h:17
Definition StunMessage.h:23
Definition StunRequestManager.h:14
Definition StunRequest.h:14
Definition Network.h:18
Definition ReceivedPacket.h:16
Definition IceCandidatePairDescription.h:10
Definition IceEventLog.h:16
Definition TaskQueueBase.h:16
STL namespace.
Definition ConnectionInfo.h:7
Definition Connection.h:121
Definition IceFieldTrials.h:7
Definition IceParameters.h:12
Definition Alias.h:14
Definition PacketOptions.h:10