41 struct DisconnectEvent {
53 DisconnectEvent& operator=(DisconnectEvent
const&);
54 DisconnectEvent(DisconnectEvent
const&);
58 struct NewIncomingConnectionEvent {
67 NewIncomingConnectionEvent& operator=(NewIncomingConnectionEvent
const&);
68 NewIncomingConnectionEvent(NewIncomingConnectionEvent
const&);
69 NewIncomingConnectionEvent();
72 struct NewOutgoingConnectionEvent {
81 NewOutgoingConnectionEvent& operator=(NewOutgoingConnectionEvent
const&);
82 NewOutgoingConnectionEvent(NewOutgoingConnectionEvent
const&);
83 NewOutgoingConnectionEvent();
91 using Event = ::std::variant<
101 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::Bedrock::Http::LibHttpClientInstance>
const> mHttpLibrary;
102 ::ll::TypedStorage<8, 24, ::NetherNet::NetworkID const> mNetworkID;
110 ::ll::TypedStorage<8, 80, ::std::mutex> mBroadcastCallbackMutex;
116 mBroadcastRequestCallback;
118 mBroadcastResponseCallback;
119 ::ll::TypedStorage<8, 80, ::std::recursive_mutex> mEventsMutex;
123 ::std::unique_ptr<::std::vector<::std::variant<
128 ::ll::TypedStorage<8, 24, ::std::vector<::std::weak_ptr<::WebRTCNetworkPeer>>> mPeers;
133 NetherNetConnector();
138 virtual ~NetherNetConnector() ;
142 virtual void setDisableLanSignaling(
bool disableLanSignaling) ;
147 virtual bool connect(
150 ::std::shared_ptr<::NetherNet::IIdentityAssertionGenerator>
153 virtual bool connect(
156 ::std::shared_ptr<::NetherNet::IIdentityAssertionGenerator> identityGenerator
160 virtual void tick() ;
162 virtual void runEvents() ;
164 virtual ::NetworkIdentifier getNetworkIdentifier() const ;
170 virtual ::TransportLayer getNetworkType() const ;
172 virtual
void _onDisable() ;
174 virtual
void _onEnable() ;
176 virtual
void OnSpopViolation() ;
178 virtual
void OnSessionClose(
179 ::NetherNet::NetworkID networkID,
181 ::NetherNet::ESessionError sessionError,
182 ::Json::Value summary
186 OnDiscoveryResponse(::NetherNet::NetworkID networkID,
void const* pApplicationData,
int size) ;
188 virtual ::brstd::move_only_function<
bool(::cereal::SchemaWriter&, ::cereal::ContextArea)>
189 OnDiscoveryRequest() ;
191 virtual
void OnSessionGetConnectionFlags(::NetherNet::NetworkID, uint* flags) ;
197 MCAPI NetherNetConnector(
200 ::
std::optional<::NetherNet::NetworkID> networkId
204 MCAPI
void _createEventQueue();
206 MCAPI ::gsl::not_null<::std::shared_ptr<::WebRTCNetworkPeer>> _getOrCreatePeer(
214 MCAPI
void setBroadcastResponseCallback(
225 ::std::optional<::NetherNet::NetworkID> networkId
240 MCAPI
void $setDisableLanSignaling(
bool disableLanSignaling);
248 ::std::shared_ptr<::NetherNet::IIdentityAssertionGenerator>
254 ::std::shared_ptr<::NetherNet::IIdentityAssertionGenerator> identityGenerator
260 MCAPI
void $runEvents();
262 MCAPI ::NetworkIdentifier $getNetworkIdentifier()
const;
268 MCFOLD ::TransportLayer $getNetworkType()
const;
270 MCFOLD
void $_onDisable();
272 MCFOLD
void $_onEnable();
274 MCFOLD
void $OnSpopViolation();
276 MCAPI
void $OnSessionClose(
279 ::NetherNet::ESessionError sessionError,
283 MCAPI
void $OnDiscoveryResponse(
::NetherNet::NetworkID networkID,
void const* pApplicationData,
int size);
285 MCAPI ::brstd::move_only_function<bool(
::cereal::SchemaWriter&, ::cereal::ContextArea)> $OnDiscoveryRequest();