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/ILanEventHandler.h"
10#include "mc/deps/nether_net/INetherNetTransportInterface.h"
11#include "mc/deps/nether_net/ISignalingEventHandler.h"
12#include "mc/deps/nether_net/SignalingChannelId.h"
13#include "mc/deps/nether_net/utils/ErrorOr.h"
14#include "mc/external/webrtc/PeerConnectionInterface.h"
18namespace Bedrock::PubSub {
class Subscription; }
19namespace NetherNet {
class CandidateAdd; }
20namespace NetherNet {
class ConnectError; }
21namespace NetherNet {
class ConnectRequest; }
22namespace NetherNet {
class ConnectResponse; }
23namespace NetherNet {
class INetherNetTransportInterfaceCallbacks; }
24namespace NetherNet {
class ISignalingInterface; }
25namespace NetherNet {
struct NetworkID; }
26namespace NetherNet {
struct SessionState; }
27namespace NetherNet {
struct StunRelayServer; }
28namespace NetherNet {
struct TransportConfiguration; }
29namespace NetherNet::LanEvents {
struct DiscoveryRequest; }
30namespace NetherNet::LanEvents {
struct DiscoveryResponse; }
31namespace NetherNet::LanEvents {
struct MessageReceived; }
32namespace NetherNet::SignalingEvents {
struct MessageReceived; }
72 virtual bool SendPacket(
75 ::std::string
const& data,
76 ::NetherNet::ESendType eSendType
87 virtual bool ReadPacket(
102 virtual bool GetSessionState(
109 virtual void SetSignalingInterface(
110 ::std::shared_ptr<::NetherNet::ISignalingInterface>
const& pWebRTCSignalingInterface
114 virtual void SetRelayConfig(::std::vector<::NetherNet::StunRelayServer>
const& config) ;
117 virtual void SetInactivityTimeout(
119 ::std::optional<::std::chrono::seconds> inactivityTimeout
123 virtual ::Bedrock::PubSub::Subscription
130 virtual bool IsBroadcastDiscoveryEnabled() ;
133 virtual void EnableBroadcastDiscovery() ;
136 virtual void DisableBroadcastDiscovery() ;
139 virtual void EnableLANSignaling() ;
142 virtual void DisableLANSignaling() ;
169 ::std::string
const& message,
170 ::NetherNet::SignalingChannelId sourceChannel
180 ::std::optional<::NetherNet::SignalingChannelId> preference
196 ::std::string
const& data,
197 ::NetherNet::ESendType eSendType
220 MCNAPI
void $SetRelayConfig(::std::vector<::NetherNet::StunRelayServer>
const& config);
Definition CandidateAdd.h:7
Definition ConnectError.h:7
Definition ConnectRequest.h:7
Definition ConnectResponse.h:7
Definition ContextProxy.h:18
Definition INetherNetTransportInterfaceCallbacks.h:15
Definition INetherNetTransportInterface.h:21
Definition SimpleNetworkInterfaceImpl.h:40
MCAPI bool $OpenSessionWithUser(::NetherNet::NetworkID networkIDRemote)
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 $DisableBroadcastDiscovery()
MCAPI void $OnSignalingEvent(::NetherNet::SignalingEvents::MessageReceived const &event)
static MCAPI void ** $vftableForISignalingEventHandler()
static MCAPI void ** $vftableForContextProxy()
MCAPI void InitializeConfiguration(::NetherNet::TransportConfiguration const *pConfiguration, ::webrtc::PeerConnectionInterface::RTCConfiguration *pRtcConfigOut)
MCAPI void $OnLanEvent(::NetherNet::LanEvents::DiscoveryRequest const &event)
MCAPI void $ClearPacketData(::NetherNet::NetworkID remoteId, uint64 connectionId)
MCAPI void ReceiveFromSignalingChannel(::NetherNet::NetworkID from, ::std::string const &message, ::NetherNet::SignalingChannelId sourceChannel)
MCAPI bool $IsPacketAvailable(::NetherNet::NetworkID remoteId, uint64 connectionId, uint *pcbMessageSize)
MCAPI bool $GetSessionState(::NetherNet::NetworkID networkIDRemote, uint64 connectionId, ::NetherNet::SessionState *pConnectionState)
MCAPI void $SetSignalingInterface(::std::shared_ptr<::NetherNet::ISignalingInterface > const &pWebRTCSignalingInterface)
MCAPI bool $ReadPacket(::NetherNet::NetworkID remoteId, uint64 connectionId, void *pubDest, uint cbDest, uint *pcbMessageSize)
static MCAPI void ** $vftableForINetherNetTransportInterface()
MCAPI void $SetRelayConfig(::std::vector<::NetherNet::StunRelayServer > const &config)
MCAPI void $DisableLANSignaling()
MCAPI void $OnLanEvent(::NetherNet::LanEvents::DiscoveryResponse const &event)
MCAPI void $EnableLANSignaling()
MCAPI::Bedrock::PubSub::Subscription $RegisterEventHandler(::NetherNet::ILanEventHandler *handler)
MCAPI::Bedrock::PubSub::Subscription $RegisterEventHandler(::NetherNet::ISignalingEventHandler *handler)
MCAPI void Initialize(::NetherNet::INetherNetTransportInterfaceCallbacks *pCallbacks)
MCAPI bool $SendPacket(::NetherNet::NetworkID remoteId, uint64 connectionId, ::std::string const &data, ::NetherNet::ESendType eSendType)
MCAPI bool $IsBroadcastDiscoveryEnabled()
static MCAPI void ** $vftableForILanEventHandler()
MCAPI void $SetInactivityTimeout(::NetherNet::NetworkID remoteId, ::std::optional<::std::chrono::seconds > inactivityTimeout)
MCAPI void $OnLanEvent(::NetherNet::LanEvents::MessageReceived const &event)
MCAPI void $EnableBroadcastDiscovery()
MCAPI bool $CloseSessionWithUser(::NetherNet::NetworkID networkIDRemote, uint64 connectionId)
Definition ILanEventHandler.h:15
Definition ISignalingEventHandler.h:12
Definition DiscoveryRequest.h:7
Definition DiscoveryResponse.h:7
Definition MessageReceived.h:7
Definition NetworkID.h:21
Definition SessionState.h:7
Definition MessageReceived.h:7
Definition TransportConfiguration.h:7
Definition PeerConnectionInterface.h:193