Babel
Epitech's C++ VoIP project
Public Member Functions | List of all members
Babel::ITCPServer< T > Class Template Referenceabstract

#include <ITCPServer.hpp>

Inheritance diagram for Babel::ITCPServer< T >:
Collaboration diagram for Babel::ITCPServer< T >:

Public Member Functions

virtual bool start (uint16_t port)=0
 Starts the server on indicated port. More...
 
virtual void stop ()=0
 Stop the server. More...
 
virtual void messageClient (std::shared_ptr< ITCPConnection< T >> client, const Message< T > &msg)=0
 Send a message to the specified client. More...
 
virtual void messageAllClients (const Message< T > &msg)=0
 Send a message to all connected clients. More...
 
virtual void update (uint64_t nbMessagesToProcess, bool wait)=0
 Forces the server to call callbacks. More...
 
virtual bool onClientConnect (std::shared_ptr< ITCPConnection< T >> client)=0
 Called when a client connect. More...
 
virtual void onClientDisconnect (std::shared_ptr< ITCPConnection< T >> client)=0
 Called when a client disconnect. More...
 
virtual void onMessage (std::shared_ptr< ITCPConnection< T >> client, Message< T > &msg)=0
 Called when we received a message from a client. More...
 
virtual ~ITCPServer ()=default
 default dtor More...
 

Constructor & Destructor Documentation

◆ ~ITCPServer()

template<typename T >
virtual Babel::ITCPServer< T >::~ITCPServer ( )
virtualdefault

default dtor

Member Function Documentation

◆ messageAllClients()

template<typename T >
virtual void Babel::ITCPServer< T >::messageAllClients ( const Message< T > &  msg)
pure virtual

Send a message to all connected clients.

Implemented in Babel::AsioTCPServer< T >, and Babel::AsioTCPServer< RFCCodes >.

◆ messageClient()

template<typename T >
virtual void Babel::ITCPServer< T >::messageClient ( std::shared_ptr< ITCPConnection< T >>  client,
const Message< T > &  msg 
)
pure virtual

Send a message to the specified client.

Implemented in Babel::AsioTCPServer< T >, and Babel::AsioTCPServer< RFCCodes >.

◆ onClientConnect()

template<typename T >
virtual bool Babel::ITCPServer< T >::onClientConnect ( std::shared_ptr< ITCPConnection< T >>  client)
pure virtual

Called when a client connect.

Note
You can refuse the connection by returning false

Implemented in Babel::AsioTCPServer< T >, Babel::AsioTCPServer< RFCCodes >, and Babel::BabelServer.

◆ onClientDisconnect()

template<typename T >
virtual void Babel::ITCPServer< T >::onClientDisconnect ( std::shared_ptr< ITCPConnection< T >>  client)
pure virtual

Called when a client disconnect.

Implemented in Babel::AsioTCPServer< T >, Babel::AsioTCPServer< RFCCodes >, and Babel::BabelServer.

◆ onMessage()

template<typename T >
virtual void Babel::ITCPServer< T >::onMessage ( std::shared_ptr< ITCPConnection< T >>  client,
Message< T > &  msg 
)
pure virtual

Called when we received a message from a client.

Implemented in Babel::AsioTCPServer< T >, Babel::AsioTCPServer< RFCCodes >, and Babel::BabelServer.

◆ start()

template<typename T >
virtual bool Babel::ITCPServer< T >::start ( uint16_t  port)
pure virtual

Starts the server on indicated port.

Implemented in Babel::AsioTCPServer< T >, and Babel::AsioTCPServer< RFCCodes >.

◆ stop()

template<typename T >
virtual void Babel::ITCPServer< T >::stop ( )
pure virtual

Stop the server.

Implemented in Babel::AsioTCPServer< T >, and Babel::AsioTCPServer< RFCCodes >.

◆ update()

template<typename T >
virtual void Babel::ITCPServer< T >::update ( uint64_t  nbMessagesToProcess,
bool  wait 
)
pure virtual

Forces the server to call callbacks.

Implemented in Babel::AsioTCPServer< T >, and Babel::AsioTCPServer< RFCCodes >.


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