37 struct DisconnectEvent {
49 DisconnectEvent& operator=(DisconnectEvent
const&);
50 DisconnectEvent(DisconnectEvent
const&);
66 struct NewIncomingConnectionEvent {
75 NewIncomingConnectionEvent& operator=(NewIncomingConnectionEvent
const&);
76 NewIncomingConnectionEvent(NewIncomingConnectionEvent
const&);
77 NewIncomingConnectionEvent();
92 struct NewOutgoingConnectionEvent {
101 NewOutgoingConnectionEvent& operator=(NewOutgoingConnectionEvent
const&);
102 NewOutgoingConnectionEvent(NewOutgoingConnectionEvent
const&);
103 NewOutgoingConnectionEvent();
108 MCNAPI_C ~NewOutgoingConnectionEvent();
114 MCNAPI_C
void $dtor();
118 using BroadcastRequestCallback = ::std::function<bool(
void*,
int*)>;
122 using Event = ::std::variant<
132 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::Bedrock::Http::LibHttpClientInstance>
const> mHttpLibrary;
133 ::ll::TypedStorage<8, 24, ::NetherNet::NetworkID const> mNetworkID;
141 ::ll::TypedStorage<8, 80, ::Bedrock::Threading::Mutex> mBroadcastCallbackMutex;
142 ::ll::TypedStorage<8, 64, ::std::function<bool(
void*,
int*)>> mBroadcastRequestCallback;
144 mBroadcastResponseCallback;
145 ::ll::TypedStorage<8, 80, ::std::recursive_mutex> mEventsMutex;
149 ::std::unique_ptr<::std::vector<::std::variant<
154 ::ll::TypedStorage<8, 24, ::std::vector<::std::weak_ptr<::WebRTCNetworkPeer>>> mPeers;
159 NetherNetConnector();
164 virtual ~NetherNetConnector() ;
166 virtual void setDisableLanSignaling(
bool disableLanSignaling) ;
168 virtual void setDisableTrickleIce(
bool disableTrickleIce) ;
172 virtual bool connect(
177 virtual void tick() ;
179 virtual void runEvents() ;
181 virtual ::NetworkIdentifier getNetworkIdentifier() const ;
187 virtual ::TransportLayer getNetworkType() const ;
189 virtual
void _onDisable() ;
191 virtual
void _onEnable() ;
193 virtual
void OnSpopViolation() ;
195 virtual
void OnSessionClose(
196 ::NetherNet::NetworkID networkID,
198 ::NetherNet::ESessionError sessionError,
199 ::Json::Value summary
203 OnBroadcastResponseReceived(::NetherNet::NetworkID networkID,
void const* pApplicationData,
int size) ;
205 virtual
bool OnBroadcastDiscoveryRequestReceivedGetResponse(
void* pApplicationData,
int* pSize) ;
207 virtual
void OnSessionGetConnectionFlags(::NetherNet::NetworkID, uint* flags) ;
213 MCAPI NetherNetConnector(
216 ::
std::optional<::NetherNet::NetworkID> networkId
220 ::NetherNet::NetworkID const& remoteId,
222 ::Bedrock::Threading::UniqueLock<::
std::recursive_mutex> const&
225 MCAPI
void _prepareForNewSession();
227 MCAPI
void _queueIncomingConnectionEvent(::NetherNet::NetworkID peerId, uint64 sessionId);
229 MCAPI_C
void _queueOutgoingConnectionEvent(::NetherNet::NetworkID peerId, uint64 sessionId);
238 ::
std::optional<::NetherNet::NetworkID> networkId
251 MCAPI
void $setDisableLanSignaling(
bool disableLanSignaling);
253 MCAPI
void $setDisableTrickleIce(
bool disableTrickleIce);
258 $connect(::Social::GameConnectionInfo const& gameConnection, ::Social::GameConnectionInfo const& backupConnection);
262 MCAPI
void $runEvents();
270 MCFOLD ::TransportLayer $getNetworkType() const;
272 MCFOLD
void $_onDisable();
274 MCFOLD
void $_onEnable();
276 MCFOLD
void $OnSpopViolation();
278 MCAPI
void $OnSessionClose(
279 ::NetherNet::NetworkID networkID,
281 ::NetherNet::ESessionError sessionError,
282 ::Json::Value summary
285 MCAPI
void $OnBroadcastResponseReceived(::NetherNet::NetworkID networkID,
void const* pApplicationData,
int size);
287 MCAPI
bool $OnBroadcastDiscoveryRequestReceivedGetResponse(
void* pApplicationData,
int* pSize);
289 MCAPI
void $OnSessionGetConnectionFlags(::NetherNet::NetworkID, uint* flags);