41 struct DisconnectEvent {
53 DisconnectEvent& operator=(DisconnectEvent
const&);
54 DisconnectEvent(DisconnectEvent
const&);
58 struct NewIncomingConnectionEvent {
68 NewIncomingConnectionEvent& operator=(NewIncomingConnectionEvent
const&);
69 NewIncomingConnectionEvent(NewIncomingConnectionEvent
const&);
70 NewIncomingConnectionEvent();
73 struct NewOutgoingConnectionEvent {
82 NewOutgoingConnectionEvent& operator=(NewOutgoingConnectionEvent
const&);
83 NewOutgoingConnectionEvent(NewOutgoingConnectionEvent
const&);
84 NewOutgoingConnectionEvent();
92 using Event = ::std::variant<
97 using HttpLibraryToken = ::std::shared_ptr<void>;
104 ::ll::TypedStorage<8, 16, ::std::shared_ptr<void>
const> mHttpLibrary;
105 ::ll::TypedStorage<8, 24, ::NetherNet::NetworkID const> mNetworkID;
113 ::ll::TypedStorage<8, 80, ::std::mutex> mBroadcastCallbackMutex;
119 mBroadcastRequestCallback;
121 mBroadcastResponseCallback;
122 ::ll::TypedStorage<8, 80, ::std::recursive_mutex> mEventsMutex;
126 ::std::unique_ptr<::std::vector<::std::variant<
131 ::ll::TypedStorage<8, 24, ::std::vector<::std::weak_ptr<::WebRTCNetworkPeer>>> mPeers;
136 NetherNetConnector();
141 virtual ~NetherNetConnector() ;
145 virtual void setDisableLanSignaling(
bool disableLanSignaling) ;
150 virtual bool connect(
153 ::std::shared_ptr<::NetherNet::IIdentityAssertionGenerator>
156 virtual bool connect(
159 ::std::shared_ptr<::NetherNet::IIdentityAssertionGenerator> identityGenerator
163 virtual void tick() ;
165 virtual void runEvents() ;
167 virtual ::NetworkIdentifier getNetworkIdentifier() const ;
173 virtual ::TransportLayer getNetworkType() const ;
175 virtual
void _onDisable() ;
177 virtual
void _onEnable() ;
179 virtual
void OnSpopViolation() ;
181 virtual
void OnSessionClose(
182 ::NetherNet::NetworkID networkID,
184 ::NetherNet::ESessionError sessionError,
185 ::Json::Value summary
189 OnDiscoveryResponse(::NetherNet::NetworkID networkID,
void const* pApplicationData,
int size) ;
191 virtual ::brstd::move_only_function<
bool(::cereal::SchemaWriter&, ::cereal::ContextArea)>
192 OnDiscoveryRequest() ;
194 virtual
void OnSessionGetConnectionFlags(::NetherNet::NetworkID, uint* flags) ;
200 MCNAPI NetherNetConnector(
203 ::
std::shared_ptr<
void> httpLibrary,
204 ::brstd::copyable_function<
bool() const> isNetworkAllowed,
205 ::
std::optional<::NetherNet::NetworkID> networkId
209 MCNAPI
void _createEventQueue();
211 MCNAPI ::gsl::not_null<::std::shared_ptr<::WebRTCNetworkPeer>> _getOrCreatePeer(
232 ::std::shared_ptr<void> httpLibrary,
234 ::std::optional<::NetherNet::NetworkID> networkId
257 ::std::shared_ptr<::NetherNet::IIdentityAssertionGenerator>
263 ::std::shared_ptr<::NetherNet::IIdentityAssertionGenerator> identityGenerator
288 ::NetherNet::ESessionError sessionError,
MCAPI void * $ctor(::NetherNetTransportFactory const &factory, ::Connector::ConnectionCallbacks &callbacks, ::std::shared_ptr< void > httpLibrary, ::brstd::copyable_function< bool() const > isNetworkAllowed, ::std::optional<::NetherNet::NetworkID > networkId)