NetworkListenerClient

class kanzi::connect::NetworkListenerClient : private ClientConnectionAdapter::Observer

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 & receiving data through message translators and maintains connection to the server.

Public Functions

NetworkListenerClient()

Constructor.

~NetworkListenerClient()

Destructor.

void addObserver(Observer *observer)

Add observer to listen for network events.

This method must not be called from any of the observer callback methods or a deadlock will occur.

Parameters
  • observer: Observer to add.

string getAdapterParameter(const string &parameter)

Retrieve parameter of currently used adapter.

Return

State of given parameter.

Parameters
  • parameter: Parameter to retrieve from adapter.

string getAdapterState(const string &parameter)

Retrieve state of currently used adapter.

Return

State of given parameter.

Parameters
  • parameter: Parameter to retrieve from adapter.

string getAdapterType()

Retrieve currently used adapter type.

Return

Adapter type.

MessageArray receive()

Retrieves incoming data packet from server.

Return

Messages that were received from the server.

void registerConnectionAdapterProvider(ConnectionAdapterProvider *provider)
void removeObserver(Observer *observer)

Remove observer.

This method must not be called from any of the observer callback methods or a deadlock will occur.

Parameters
  • observer: Observer to remove.

void start(const string &type, const ClientConnectionAdapter::Parameters &parameters, Client *client = nullptr)

Starts connecting to server using given network adapter and parameters.

Parameters
  • type: Type of the network adapter.

  • parameters: Parameters for the network adapter.

  • client: Optional pointer to Client instance.

void stop()

Stops networking activities and tears down the networking thread.

bool transmit(const MessagePackage &message)

Sends a data packet to server.

Parameters
  • message: Message to be sent.

class Observer

Observer for network state changes.

Subclassed by Connection, P2PClient::NetworkListenerRegistration

Public Functions

~Observer() = default
void onConnected()

Listener thread has established connection to server.

void onDisconnected()

Listener thread has terminated connection from server.

void onFailedToConnect()

Listener thread failed to connect.

void onReceive()

Listener thread received data.