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"
62 SimpleNetworkInterfaceImpl& operator=(SimpleNetworkInterfaceImpl
const&);
63 SimpleNetworkInterfaceImpl(SimpleNetworkInterfaceImpl
const&);
64 SimpleNetworkInterfaceImpl();
69 virtual ~SimpleNetworkInterfaceImpl() =
default;
71 virtual bool SendPacket(
74 ::std::string
const& data,
75 ::NetherNet::ESendType eSendType
81 virtual bool ReadPacket(
93 virtual bool GetSessionState(
99 virtual void SetSignalingInterface(
100 ::std::shared_ptr<::NetherNet::ISignalingInterface>
const& pWebRTCSignalingInterface
103 virtual void SetRelayConfig(::std::vector<::NetherNet::StunRelayServer>
const& config) ;
105 virtual ::Bedrock::PubSub::Subscription
110 virtual bool IsBroadcastDiscoveryEnabled() ;
112 virtual void EnableBroadcastDiscovery() ;
114 virtual void DisableBroadcastDiscovery() ;
116 virtual void EnableLANSignaling() ;
118 virtual void DisableLANSignaling() ;
120 virtual void EnableTrickleIce() ;
122 virtual void DisableTrickleIce() ;
147 ::std::string
const& message,
148 ::NetherNet::SignalingChannelId sourceChannel
158 ::std::optional<::NetherNet::SignalingChannelId> preference
168 ::std::string
const& data,
169 ::NetherNet::ESendType eSendType
187 MCNAPI
void $SetRelayConfig(::std::vector<::NetherNet::StunRelayServer>
const& config);
Definition Subscription.h:10
Definition CandidateAdd.h:7
Definition ConnectError.h:7
Definition ConnectRequest.h:12
Definition ConnectResponse.h:12
Definition ContextProxy.h:18
Definition INetherNetTransportInterfaceCallbacks.h:16
Definition INetherNetTransportInterface.h:21
Definition ISignalingInterface.h:17
MCAPI bool $OpenSessionWithUser(::NetherNet::NetworkID networkIDRemote)
MCAPI void $EnableTrickleIce()
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 ReceiveFromSignalingChannel(::NetherNet::NetworkID from, ::std::string const &message, ::NetherNet::SignalingChannelId sourceChannel)
MCAPI bool $IsPacketAvailable(::NetherNet::NetworkID remoteId, uint64 connectionId, uint *pcbMessageSize)
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 $OnLanEvent(::NetherNet::LanEvents::MessageReceived const &event)
MCAPI void $EnableBroadcastDiscovery()
MCAPI void $DisableTrickleIce()
MCAPI bool $CloseSessionWithUser(::NetherNet::NetworkID networkIDRemote, uint64 connectionId)
MCAPI bool $GetSessionState(::NetherNet::NetworkID peerId, uint64 connectionId, ::NetherNet::SessionState *pConnectionState)
MCAPI::webrtc::PeerConnectionInterface::RTCConfiguration GetRTCConfig(::NetherNet::NetworkID peerId) const
Definition ILanEventHandler.h:15
Definition ISignalingEventHandler.h:12
Definition DiscoveryRequest.h:7
Definition DiscoveryResponse.h:7
Definition MessageReceived.h:7
Definition NetworkID.h:17
Definition SessionState.h:7
Definition MessageReceived.h:7
Definition StunRelayServer.h:7
Definition TransportConfiguration.h:7
Definition PeerConnectionInterface.h:198