3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/deps/nether_net/ContextProxy.h"
7#include "mc/deps/nether_net/ESendType.h"
8#include "mc/deps/nether_net/ESessionError.h"
9#include "mc/deps/nether_net/SignalingChannelId.h"
10#include "mc/deps/nether_net/utils/ErrorOr.h"
11#include "mc/platform/threading/UniqueLock.h"
34 struct NetworkSessionRecord {
43 NetworkSessionRecord& operator=(NetworkSessionRecord
const&);
44 NetworkSessionRecord(NetworkSessionRecord
const&);
45 NetworkSessionRecord();
58 NetworkSessionManager& operator=(NetworkSessionManager
const&);
59 NetworkSessionManager(NetworkSessionManager
const&);
60 NetworkSessionManager();
65 virtual ~NetworkSessionManager() =
default;
74 ::std::vector<::std::unique_ptr<::NetherNet::NetworkSession>>&,
81 ::NetherNet::ESessionError reason
88 bool disableTrickleIce
97 ::NetherNet::SignalingChannelId source,
99 bool disableTrickleIce
105 bool disableTrickleIce
119 ::NetherNet::SignalingChannelId,
126 ::NetherNet::SignalingChannelId,
133 ::NetherNet::SignalingChannelId,
134 bool disableTrickleIce
140 MCNAPI ::std::vector<::std::unique_ptr<::NetherNet::NetworkSession>>
148 ::NetherNet::ESendType type
158 ::std::optional<::NetherNet::SignalingChannelId> preference
Definition UniqueLock.h:8
Definition CandidateAdd.h:7
Definition ConnectError.h:7
Definition ConnectRequest.h:12
Definition ConnectResponse.h:12
Definition ContextProxy.h:18
MCAPI bool ReadPacket(::NetherNet::NetworkID remoteId, uint64 connectionId, void *pubDest, uint cbDest, uint *pcbMessageSize)
static MCAPI void ** $vftable()
MCAPI ::NetherNet::ErrorOr< void, ::NetherNet::ESessionError > SendToSignalingChannel(::NetherNet::NetworkID networkIDTo, ::std::variant< ::NetherNet::ConnectRequest, ::NetherNet::ConnectResponse, ::NetherNet::ConnectError, ::NetherNet::CandidateAdd > const &signal, ::std::optional<::NetherNet::SignalingChannelId > preference)
MCAPI void NotifyOnSessionOpen(::NetherNet::NetworkID networkIDRemote, uint64 connectionId)
MCAPI void ProcessSignal(::NetherNet::NetworkID remoteID, ::NetherNet::ConnectResponse const &signal, ::NetherNet::SignalingChannelId, bool) const
MCAPI void ProcessSignal(::NetherNet::NetworkID remoteID, ::NetherNet::CandidateAdd const &signal, ::NetherNet::SignalingChannelId, bool disableTrickleIce)
MCAPI::NetherNet::ESessionError InitiateIncomingSession(::NetherNet::NetworkID remoteID, ::NetherNet::ConnectRequest const &offer, ::NetherNet::SignalingChannelId source, ::Bedrock::Threading::UniqueLock<::std::recursive_mutex > const &sessionsLock, bool disableTrickleIce)
MCAPI bool GetSessionState(::NetherNet::NetworkID peerId, uint64 connectionId, ::NetherNet::SessionState *pConnectionState)
MCAPI bool SendPacket(::NetherNet::NetworkID networkIDRemote, uint64 connectionId, uchar const *data, uint64 size, ::NetherNet::ESendType type)
MCAPI ::gsl::not_null<::NetherNet::NetworkSession * > FindOrCreateSpecificSession(::NetherNet::NetworkID remoteId, uint64 connectionId, ::Bedrock::Threading::UniqueLock<::std::recursive_mutex > const &sessionsLock, bool disableTrickleIce)
MCAPI bool CloseSessionWithReason(::NetherNet::NetworkID networkIDRemote, uint64 connectionId, ::NetherNet::ESessionError reason)
MCAPI void PeriodicDeadSessionCleanupOnSignalThread()
MCAPI::NetherNet::NetworkSession * InitiateOutgoingSession(::NetherNet::NetworkID remoteID, ::Bedrock::Threading::UniqueLock<::std::recursive_mutex > const &sessionsLock, bool disableTrickleIce)
MCAPI void ProcessError(::NetherNet::NetworkID remoteID, uint64 connectionId, ::NetherNet::ESessionError error)
MCAPI ::std::vector<::std::unique_ptr<::NetherNet::NetworkSession > > RemoveSession(::NetherNet::NetworkID remoteID, uint64 connectionId)
MCAPI bool IsPacketAvailable(::NetherNet::NetworkID remoteId, uint64 connectionId, uint *pcbMessageSize) const
MCAPI void CloseInactiveSessionsOnSignalThread(::NetherNet::NetworkID remoteID, ::std::tuple< ::std::vector<::std::unique_ptr<::NetherNet::NetworkSession > > &, ::Bedrock::Threading::UniqueLock<::std::recursive_mutex > const & > const &list)
MCAPI void ProcessSignal(::NetherNet::NetworkID remoteID, ::NetherNet::ConnectError const &error, ::NetherNet::SignalingChannelId, bool) const
Definition NetworkSession.h:19
Definition NetworkID.h:17
Definition NetworkSessionManager.h:34
Definition SessionState.h:7