48 onAllConnectionsClosed(::Connection::DisconnectFailReason discoReason,
bool skipDisconnectMessage) = 0;
51 onAllRemoteConnectionsClosed(::Connection::DisconnectFailReason discoReason,
bool skipDisconnectMessage) = 0;
53 virtual void onOutgoingConnectionFailed(::Connection::DisconnectFailReason discoReason) = 0;
55 virtual void onWebsocketRequest(
56 ::std::string
const& serverAddress,
57 ::std::string
const& payload,
58 ::std::function<
void()> errorCallback
67 ::ll::TypedStorage<8, 32, ::std::string> mAddress;
84 ::ll::TypedStorage<8, 8, ::std::chrono::steady_clock::time_point> mTimepoint;
85 ::ll::TypedStorage<8, 32, ::std::string> mReadBuffer;
94 ::std::string mSendBuffer;
95 ::std::vector<ReadBufferData> mReadBufferDatas;
96 int mApproximateMaxBps;
103 RakNetNetworkPeer& operator=(RakNetNetworkPeer
const&);
104 RakNetNetworkPeer(RakNetNetworkPeer
const&);
111 sendPacket(::std::string
const& data, ::NetworkPeer::Reliability reliability, ::Compressibility) ;
113 virtual ::NetworkPeer::DataStatus _receivePacket(
114 ::std::string& outData,
115 ::std::shared_ptr<::std::chrono::steady_clock::time_point>
const& timepointPtr
118 virtual ::NetworkPeer::NetworkStatus getNetworkStatus() const ;
120 virtual
void update() ;
122 virtual
bool isLocal() const ;
124 virtual
bool isEncrypted() const ;
130 MCAPI
void $sendPacket(::
std::
string const& data, ::
NetworkPeer::Reliability reliability, ::Compressibility);
133 ::
std::
string& outData,
134 ::
std::shared_ptr<::
std::chrono::steady_clock::time_point> const& timepointPtr
139 MCAPI
void $update();
141 MCFOLD
bool $isLocal() const;
143 MCFOLD
bool $isEncrypted() const;
153 ::ll::TypedStorage<8, 784, ::Social::GameConnectionInfo> mBackupGameConnection;
154 ::ll::TypedStorage<1, 1,
bool> mTryBackupConnection;
155 ::ll::TypedStorage<8, 16, ::
std::unique_ptr<::RakNet::RakPeerInterface,
void (*)(::RakNet::RakPeerInterface*)>>
159 ::ll::TypedStorage<8, 8, ::
RakPeerHelper::IPSupportInterface&> mIPSupportInterface;
160 ::ll::TypedStorage<1, 1,
bool> mIsAwaitingNatClient;
161 ::ll::TypedStorage<1, 1,
bool> mIsServer;
162 ::ll::TypedStorage<1, 1,
bool> mIsDisconnecting;
163 ::ll::TypedStorage<1, 1,
bool> mConnectingToClient;
164 ::ll::TypedStorage<8, 784, ::Social::GameConnectionInfo> mConnectedGameInfo;
170 ::ll::TypedStorage<1, 1,
bool> mWasHostWhenSuspended;
172 ::ll::TypedStorage<8, 32, ::
std::
string> mResolvedIP;
173 ::ll::TypedStorage<8, 24, ::
std::vector<::RakNetConnector::
PingCallbackData>> mPingTimeCallbacks;
174 ::ll::TypedStorage<8, 8, ::
std::unique_ptr<::
MPMCQueue<::
std::function<
void()>>>> mOwnedThreadWork;
179 RakNetConnector& operator=(RakNetConnector const&);
180 RakNetConnector(RakNetConnector const&);
186 virtual ~RakNetConnector() = default;
190 virtual
bool connect(
191 ::Social::GameConnectionInfo const& primaryConnection,
192 ::Social::GameConnectionInfo const& backupConnection,
193 ::
std::shared_ptr<::NetherNet::IIdentityAssertionGenerator>
196 virtual
void disconnect() ;
198 virtual
void tick() ;
200 virtual
void runEvents() ;
206 virtual
bool isServer() const ;
208 virtual ::
std::
string getLocalIp() ;
210 virtual ushort getPort() const ;
212 virtual ::Social::GameConnectionInfo const& getConnectedGameInfo() const ;
214 virtual
void setConnectedResolvedExperienceInfo(
215 ::
std::optional<::Social::ResolvedExperienceInfo> const& resolvedExperienceInfo
218 virtual
bool isIPv4Supported() const ;
220 virtual
bool isIPv6Supported() const ;
222 virtual ushort getIPv4Port() const ;
224 virtual ushort getIPv6Port() const ;
228 virtual ::RakNet::RakPeerInterface* getPeer();
230 virtual ::RakNet::RakPeerInterface const* getPeer() const;
232 virtual ::TransportLayer getNetworkType() const ;
234 virtual
void setDisableLanSignaling(
bool) ;
236 virtual
void _onDisable() ;
238 virtual
void _onEnable() ;
244 MCAPI RakNetConnector(
247 ::Bedrock::NonOwnerPointer<::
AppPlatform> const& appPlatform,
248 ::RakNet::RakPeerConfiguration const& rakPeerConfig
252 MCAPI
void getPingTimeForConnection(
253 ::std::string
const& address,
281 ::std::shared_ptr<::NetherNet::IIdentityAssertionGenerator>
284 MCAPI
void $disconnect();
288 MCAPI
void $runEvents();
294 MCAPI
bool $isServer()
const;
296 MCAPI ::std::string $getLocalIp();
298 MCAPI ushort $getPort()
const;
300 MCAPI ::Social::GameConnectionInfo
const& $getConnectedGameInfo()
const;
302 MCAPI
void $setConnectedResolvedExperienceInfo(
303 ::std::optional<::Social::ResolvedExperienceInfo>
const& resolvedExperienceInfo
306 MCAPI
bool $isIPv4Supported()
const;
308 MCAPI
bool $isIPv6Supported()
const;
310 MCAPI ushort $getIPv4Port()
const;
312 MCAPI ushort $getIPv6Port()
const;
314 MCAPI ::NetworkIdentifier $getNetworkIdentifier()
const;
316 MCAPI ::RakNet::RakPeerInterface* $getPeer();
318 MCAPI ::RakNet::RakPeerInterface
const* $getPeer()
const;
320 MCFOLD ::TransportLayer $getNetworkType()
const;
322 MCFOLD
void $setDisableLanSignaling(
bool);
324 MCAPI
void $_onDisable();
326 MCAPI
void $_onEnable();