Kanzi Connect  1.1.10
Kanzi Connect C++ API
kanzi::connect::NetworkListener Class Reference

A class that runs network thread and acts as a bridge between the server and clients. More...

#include <network_listener.hpp>

Inheritance diagram for kanzi::connect::NetworkListener:
kanzi::connect::ConnectionAdapter::Observer

Classes

class  Observer
 Allows to receive notifications from network listener. More...
 

Public Types

typedef vector< MessagePackageMessageContainer
 Container type for network messages. More...
 

Public Member Functions

void addObserver (Observer *observer)
 Add observer to listen for network events. More...
 
ConnectionAdapterSharedPtr getAdapter ()
 Return the adapter that this network listener uses. More...
 
ConnectionAdaptergetConnectionAdapter (const int clientId) const
 Find the connection adapter that handles the connection for the given client. More...
 
virtual bool getParameter (size_t id, size_t &param)
 Allows to query a listener-specific parameter. More...
 
string getRemoteIPAddress (size_t handle)
 Gets the IP Address of the remote peer. More...
 
 NetworkListener (ConnectDomain *domain, MessagePackage::SerializationFormat serializationFormat)
 Constructor. More...
 
int purgeInactiveConnections ()
 Clean up connections that are no longer active. More...
 
MessageArray receive (size_t clientId, bool patchClientId=true)
 Retrieves incoming data packet from a given client. More...
 
void removeObserver (Observer *observer)
 Remove observer. More...
 
void reset ()
 Resets the internal network listener state. More...
 
void start (ConnectionAdapterSharedPtr connectionAdapter, const ConnectionAdapter::Parameters &parameters)
 Starts listening connections, using given network adapter and parameters. More...
 
void stop ()
 Stop listening connections and tears down the networking thread. More...
 
bool transmit (size_t clientId, const MessagePackage &message)
 Sends a data packet to given client. More...
 
void useDiagnosticsManager (DiagnosticsManagerSharedPtr diagnosticsManager)
 Attach diagnostics manager to this network listener. More...
 
virtual ~NetworkListener ()
 Destructor. More...
 

Static Public Attributes

static const size_t ParamTypeSerializationFormat = SERIALIZATION_FORMAT_PARAM_ID
 Use a parameter ID to query serialization format. More...
 

Protected Member Functions

void run ()
 Network thread function. More...
 

Detailed Description

A class that runs network thread and acts as a bridge between the server and clients.

This class initializes connection adapter according to given parameters and starts a network thread. It is responsible of transmitting and receiving data through message translators and maintains connections of clients.

Member Typedef Documentation

◆ MessageContainer

Container type for network messages.

Constructor & Destructor Documentation

◆ NetworkListener()

kanzi::connect::NetworkListener::NetworkListener ( ConnectDomain domain,
MessagePackage::SerializationFormat  serializationFormat 
)

Constructor.

◆ ~NetworkListener()

virtual kanzi::connect::NetworkListener::~NetworkListener ( )
virtual

Destructor.

Member Function Documentation

◆ addObserver()

void kanzi::connect::NetworkListener::addObserver ( Observer observer)

Add observer to listen for network events.

Parameters
observerObserver to add.

◆ getAdapter()

ConnectionAdapterSharedPtr kanzi::connect::NetworkListener::getAdapter ( )

Return the adapter that this network listener uses.

Returns
The adapter shared pointer. Can be null.

◆ getConnectionAdapter()

ConnectionAdapter* kanzi::connect::NetworkListener::getConnectionAdapter ( const int  clientId) const

Find the connection adapter that handles the connection for the given client.

Parameters
clientIdIdentifies the client.
Returns
Pointer to the connection adapter, null pointer if not found.

◆ getParameter()

virtual bool kanzi::connect::NetworkListener::getParameter ( size_t  id,
size_t &  param 
)
virtual

Allows to query a listener-specific parameter.

Supported parameters: ParamTypeSerializationFormat

Parameters
idId of the parameter.
paramValue of the parameter (out).
Returns
If parameter was successfully queried, true, otherwise false.

◆ getRemoteIPAddress()

string kanzi::connect::NetworkListener::getRemoteIPAddress ( size_t  handle)

Gets the IP Address of the remote peer.

Parameters
handleIdentfies the remote peer.
Returns
IP address of the remote peer.

◆ purgeInactiveConnections()

int kanzi::connect::NetworkListener::purgeInactiveConnections ( )

Clean up connections that are no longer active.

Returns
The number of connections that were removed.

◆ receive()

MessageArray kanzi::connect::NetworkListener::receive ( size_t  clientId,
bool  patchClientId = true 
)

Retrieves incoming data packet from a given client.

Parameters
clientIdThe id of the client that sends the data.
patchClientIdPatches the returned messages with the requested client identifier.
Returns
Messages that were received from the client.

◆ removeObserver()

void kanzi::connect::NetworkListener::removeObserver ( Observer observer)

Remove observer.

Parameters
observerObserver to remove.

◆ reset()

void kanzi::connect::NetworkListener::reset ( )

Resets the internal network listener state.

◆ run()

void kanzi::connect::NetworkListener::run ( )
protected

Network thread function.

◆ start()

void kanzi::connect::NetworkListener::start ( ConnectionAdapterSharedPtr  connectionAdapter,
const ConnectionAdapter::Parameters parameters 
)

Starts listening connections, using given network adapter and parameters.

Parameters
connectionAdapterAdapter to use for communication.
parametersParameters for the network adapter.

◆ stop()

void kanzi::connect::NetworkListener::stop ( )

Stop listening connections and tears down the networking thread.

◆ transmit()

bool kanzi::connect::NetworkListener::transmit ( size_t  clientId,
const MessagePackage message 
)

Sends a data packet to given client.

Parameters
clientIdThe id of the client that should receive the message.
messageMessage to be sent.
Returns
If message is sent, true, otherwise false.

◆ useDiagnosticsManager()

void kanzi::connect::NetworkListener::useDiagnosticsManager ( DiagnosticsManagerSharedPtr  diagnosticsManager)

Attach diagnostics manager to this network listener.

Member Data Documentation

◆ ParamTypeSerializationFormat

const size_t kanzi::connect::NetworkListener::ParamTypeSerializationFormat = SERIALIZATION_FORMAT_PARAM_ID
static

Use a parameter ID to query serialization format.


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