Nakama C++ Client SDK 2.5.1
Client for Nakama Server
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
NRtTransportInterface Class Referenceabstract

#include <NRtTransportInterface.h>

Public Types

using ConnectCallback = std::function< void()>
 
using DisconnectCallback = std::function< void(const NRtClientDisconnectInfo &info)>
 
using ErrorCallback = std::function< void(const std::string &)>
 
using MessageCallback = std::function< void(const NBytes &)>
 

Public Member Functions

virtual ~NRtTransportInterface ()
 
void setConnectCallback (ConnectCallback callback)
 
void setDisconnectCallback (DisconnectCallback callback)
 
void setErrorCallback (ErrorCallback callback)
 
void setMessageCallback (MessageCallback callback)
 
virtual void setActivityTimeout (uint32_t timeoutMs)=0
 
virtual uint32_t getActivityTimeout () const =0
 
virtual void tick ()=0
 
virtual void connect (const std::string &url, NRtTransportType type)=0
 
virtual bool isConnected () const
 
virtual void disconnect ()=0
 
virtual bool send (const NBytes &data)=0
 

Protected Member Functions

void fireOnConnected ()
 
void fireOnDisconnected (const NRtClientDisconnectInfo &info)
 
void fireOnError (const std::string &description)
 
void fireOnMessage (const NBytes &data)
 

Protected Attributes

ConnectCallback _connectCallback
 
DisconnectCallback _disconnectCallback
 
ErrorCallback _errorCallback
 
MessageCallback _messageCallback
 
bool _connected = false
 

Detailed Description

A real-time transport interface to send and receive data.

Member Typedef Documentation

◆ ConnectCallback

using NRtTransportInterface::ConnectCallback = std::function<void()>

◆ DisconnectCallback

using NRtTransportInterface::DisconnectCallback = std::function<void(const NRtClientDisconnectInfo& info)>

◆ ErrorCallback

using NRtTransportInterface::ErrorCallback = std::function<void(const std::string&)>

◆ MessageCallback

using NRtTransportInterface::MessageCallback = std::function<void(const NBytes&)>

Constructor & Destructor Documentation

◆ ~NRtTransportInterface()

virtual NRtTransportInterface::~NRtTransportInterface ( )
inlinevirtual

Member Function Documentation

◆ connect()

virtual void NRtTransportInterface::connect ( const std::string &  url,
NRtTransportType  type 
)
pure virtual

Connect to the server.

Parameters
urlThe URL of websocket server.
typeThe transport type: Text or Binary.

◆ disconnect()

virtual void NRtTransportInterface::disconnect ( )
pure virtual

Close the connection with the server.

◆ fireOnConnected()

void NRtTransportInterface::fireOnConnected ( )
inlineprotected

◆ fireOnDisconnected()

void NRtTransportInterface::fireOnDisconnected ( const NRtClientDisconnectInfo info)
inlineprotected

◆ fireOnError()

void NRtTransportInterface::fireOnError ( const std::string &  description)
inlineprotected

◆ fireOnMessage()

void NRtTransportInterface::fireOnMessage ( const NBytes data)
inlineprotected

◆ getActivityTimeout()

virtual uint32_t NRtTransportInterface::getActivityTimeout ( ) const
pure virtual

Get activity timeout, milliseconds.

◆ isConnected()

virtual bool NRtTransportInterface::isConnected ( ) const
inlinevirtual
Returns
True if connected to server.

◆ send()

virtual bool NRtTransportInterface::send ( const NBytes data)
pure virtual

Send bytes data to the server.

Parameters
dataThe byte data to send.
Returns
True if sent successfully.

◆ setActivityTimeout()

virtual void NRtTransportInterface::setActivityTimeout ( uint32_t  timeoutMs)
pure virtual

Set activity timeout, milliseconds.

If no any message (including ping) received from server during activity timeout then connection will be closed. Set 0 to disable (default value).

◆ setConnectCallback()

void NRtTransportInterface::setConnectCallback ( ConnectCallback  callback)
inline

◆ setDisconnectCallback()

void NRtTransportInterface::setDisconnectCallback ( DisconnectCallback  callback)
inline

◆ setErrorCallback()

void NRtTransportInterface::setErrorCallback ( ErrorCallback  callback)
inline

◆ setMessageCallback()

void NRtTransportInterface::setMessageCallback ( MessageCallback  callback)
inline

◆ tick()

virtual void NRtTransportInterface::tick ( )
pure virtual

Pumps requests queue in your thread. NRtClientInterface will call this from it's tick.

Member Data Documentation

◆ _connectCallback

ConnectCallback NRtTransportInterface::_connectCallback
protected

◆ _connected

bool NRtTransportInterface::_connected = false
protected

◆ _disconnectCallback

DisconnectCallback NRtTransportInterface::_disconnectCallback
protected

◆ _errorCallback

ErrorCallback NRtTransportInterface::_errorCallback
protected

◆ _messageCallback

MessageCallback NRtTransportInterface::_messageCallback
protected

The documentation for this class was generated from the following file: