Server Meshing
Loading...
Searching...
No Matches
INetworkTransfer Struct Referenceabstract

#include <INetworkTransfer.h>

Inheritance diagram for INetworkTransfer:
Collaboration diagram for INetworkTransfer:

Classes

struct  IncomingPacket
struct  PeerInfo

Public Types

using Incoming = IncomingPacket

Public Member Functions

 INetworkTransfer (NetworkMode aMode)
virtual ~INetworkTransfer ()=default
virtual bool Send (const NetworkMessage &aMessage, uint16_t aPeerID=0)=0
virtual bool Receive (NetworkMessage &outMsg)=0
virtual bool ConnectToHub (const char *aIP, uint16_t aPort=0, bool isMultiCast=false)=0
virtual int StartListen (const char *aIP, uint16_t aPort)=0
virtual void Shutdown ()=0
virtual bool IsConnected ()=0
virtual IncomingHandleT< INetworkTransferGetNextIncoming ()=0
virtual bool RegisterForMulticastGroup (const char *aMulticastIPStr, const char *aInterfaceStr)=0
virtual int RegisterForMulticastGroup (uint32_t aMulticastIP, uint32_t aInterface=INADDR_ANY)=0
virtual bool UnregisterForMulticastGroup (uint32_t aMulticastIP, uint32_t aMulticastSourceIP, uint32_t aInterface=0000)=0
virtual size_t GetIncomingCount () const
NetworkMode GetMode () const
virtual bool GetPeerInfo (PeerId id, PeerInfo &outInfo) const =0
virtual bool UpdatePeerName (PeerId id, std::string_view name)=0
virtual bool SetPeerAuthenticated (PeerId id, bool authenticated)=0
virtual bool UpdatePeerColor (PeerId id, const float aColor[4])=0
 INetworkTransfer ()=default

Protected Attributes

sockaddr_in myHubAddress {}
NetworkMode myMode = NetworkMode::None
std::deque< IncomingmyIncoming

Friends

class IncomingHandleT< INetworkTransfer >

Member Typedef Documentation

◆ Incoming

Constructor & Destructor Documentation

◆ INetworkTransfer() [1/2]

INetworkTransfer::INetworkTransfer ( NetworkMode aMode)
inlineexplicit

◆ ~INetworkTransfer()

virtual INetworkTransfer::~INetworkTransfer ( )
virtualdefault

◆ INetworkTransfer() [2/2]

INetworkTransfer::INetworkTransfer ( )
default

Member Function Documentation

◆ ConnectToHub()

virtual bool INetworkTransfer::ConnectToHub ( const char * aIP,
uint16_t aPort = 0,
bool isMultiCast = false )
pure virtual

Implemented in NetworkSystem.

◆ GetIncomingCount()

virtual size_t INetworkTransfer::GetIncomingCount ( ) const
inlinevirtual

◆ GetMode()

NetworkMode INetworkTransfer::GetMode ( ) const
inline

◆ GetNextIncoming()

virtual IncomingHandleT< INetworkTransfer > INetworkTransfer::GetNextIncoming ( )
pure virtual

Implemented in NetworkSystem.

◆ GetPeerInfo()

virtual bool INetworkTransfer::GetPeerInfo ( PeerId id,
PeerInfo & outInfo ) const
pure virtual

Implemented in NetworkSystem.

◆ IsConnected()

virtual bool INetworkTransfer::IsConnected ( )
pure virtual

Implemented in NetworkSystem.

◆ Receive()

virtual bool INetworkTransfer::Receive ( NetworkMessage & outMsg)
pure virtual

Implemented in NetworkSystem.

◆ RegisterForMulticastGroup() [1/2]

virtual bool INetworkTransfer::RegisterForMulticastGroup ( const char * aMulticastIPStr,
const char * aInterfaceStr )
pure virtual

Implemented in NetworkSystem.

◆ RegisterForMulticastGroup() [2/2]

virtual int INetworkTransfer::RegisterForMulticastGroup ( uint32_t aMulticastIP,
uint32_t aInterface = INADDR_ANY )
pure virtual

Implemented in NetworkSystem.

◆ Send()

virtual bool INetworkTransfer::Send ( const NetworkMessage & aMessage,
uint16_t aPeerID = 0 )
pure virtual

Implemented in NetworkSystem.

◆ SetPeerAuthenticated()

virtual bool INetworkTransfer::SetPeerAuthenticated ( PeerId id,
bool authenticated )
pure virtual

Implemented in NetworkSystem.

◆ Shutdown()

virtual void INetworkTransfer::Shutdown ( )
pure virtual

Implemented in NetworkSystem.

◆ StartListen()

virtual int INetworkTransfer::StartListen ( const char * aIP,
uint16_t aPort )
pure virtual

Implemented in NetworkSystem.

◆ UnregisterForMulticastGroup()

virtual bool INetworkTransfer::UnregisterForMulticastGroup ( uint32_t aMulticastIP,
uint32_t aMulticastSourceIP,
uint32_t aInterface = 0000 )
pure virtual

Implemented in NetworkSystem.

◆ UpdatePeerColor()

virtual bool INetworkTransfer::UpdatePeerColor ( PeerId id,
const float aColor[4] )
pure virtual

Implemented in NetworkSystem.

◆ UpdatePeerName()

virtual bool INetworkTransfer::UpdatePeerName ( PeerId id,
std::string_view name )
pure virtual

Implemented in NetworkSystem.

◆ IncomingHandleT< INetworkTransfer >

friend class IncomingHandleT< INetworkTransfer >
friend

Member Data Documentation

◆ myHubAddress

sockaddr_in INetworkTransfer::myHubAddress {}
protected

◆ myIncoming

std::deque<Incoming> INetworkTransfer::myIncoming
protected

◆ myMode

NetworkMode INetworkTransfer::myMode = NetworkMode::None
protected