LeviLamina
Loading...
Searching...
No Matches
NetworkSessionManager.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/nether_net/ContextProxy.h"
7#include "mc/deps/nether_net/ESessionError.h"
8#include "mc/deps/nether_net/SignalingChannelId.h"
9#include "mc/deps/nether_net/utils/ErrorOr.h"
10#include "mc/platform/threading/UniqueLock.h"
11
12// auto generated forward declare list
13// clang-format off
14namespace NetherNet { class CandidateAdd; }
15namespace NetherNet { class ConnectError; }
16namespace NetherNet { class ConnectRequest; }
17namespace NetherNet { class ConnectResponse; }
18namespace NetherNet { class NetworkSession; }
19namespace NetherNet { struct NetworkID; }
20// clang-format on
21
22namespace NetherNet {
23
24class NetworkSessionManager : public ::NetherNet::ContextProxy {
25public:
26 // NetworkSessionManager inner types declare
27 // clang-format off
29 // clang-format on
30
31 // NetworkSessionManager inner types define
32 struct NetworkSessionRecord {
33 public:
34 // member variables
35 // NOLINTBEGIN
37 // NOLINTEND
38
39 public:
40 // prevent constructor by default
41 NetworkSessionRecord& operator=(NetworkSessionRecord const&);
42 NetworkSessionRecord(NetworkSessionRecord const&);
43 NetworkSessionRecord();
44 };
45
46public:
47 // member variables
48 // NOLINTBEGIN
54 // NOLINTEND
55
56public:
57 // prevent constructor by default
58 NetworkSessionManager& operator=(NetworkSessionManager const&);
59 NetworkSessionManager(NetworkSessionManager const&);
60 NetworkSessionManager();
61
62public:
63 // virtual functions
64 // NOLINTBEGIN
65 virtual ~NetworkSessionManager() /*override*/ = default;
66 // NOLINTEND
67
68public:
69 // member functions
70 // NOLINTBEGIN
72 ::NetherNet::NetworkID networkIDRemote,
73 uint64 connectionId,
74 ::NetherNet::ESessionError reason
75 );
76
77 MCNAPI ::gsl::not_null<::NetherNet::NetworkSession*> FindOrCreateSpecificSession(
79 uint64 connectionId,
81 bool disableTrickleIce
82 );
83
84 MCNAPI void NotifyOnSessionOpen(::NetherNet::NetworkID networkIDRemote, uint64 connectionId);
85
87
88 MCNAPI ::NetherNet::ErrorOr<void, ::NetherNet::ESessionError> SendToSignalingChannel(
89 ::NetherNet::NetworkID networkIDTo,
90 ::std::variant<
94 ::NetherNet::CandidateAdd> const& signal,
95 ::std::optional<::NetherNet::SignalingChannelId> preference
96 );
97 // NOLINTEND
98};
99
100} // namespace NetherNet
Definition UniqueLock.h:8
Definition CandidateAdd.h:7
Definition ConnectError.h:7
Definition ConnectRequest.h:7
Definition ConnectResponse.h:7
Definition ContextProxy.h:18
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 ::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()
Definition NetworkSession.h:23
Definition NetworkID.h:17
Definition NetworkSessionManager.h:32
Definition Alias.h:14