Superviseur - Collecteur 1.0
Ce logiciel correspond au collecteur de la suite des trois logiciels composant le superviseur
Signaux | Fonctions membres publiques | Connecteurs privés | Attributs privés
Référence de la classe HyperviseurUDPSocket

Gère l'acquisition des données UDP en provenance des daemons. Plus de détails...

#include <hyperviseurudpsocket.h>

Liste de tous les membres

Signaux

void nouvellesDonnes (QString donnees)
 Émis lorsqu'une donnée est reçue d'un daemon.
void paquetsPerdus (int nb)
 Émis lorsque des paquets n'ont pas été reçus.

Fonctions membres publiques

 HyperviseurUDPSocket (quint16 port=55000, QObject *parent=0)
 Constructeur.

Connecteurs privés

void lireDatagrammes ()
 Lit les messages (datagrammes) en attente de lecture.

Attributs privés

QHash< QString, quint32 > seqNbTable
 Cette table de hachage stocke le numéro de séquence du dernier paquet reçu pour chaque IP.

Description détaillée

Gère l'acquisition des données UDP en provenance des daemons.

Cette classe s'occupe de gérer l'acquisition et l'extraction des données contenues dans des paquets UDP en provenance des daemons.
Elle gère également la détection des paquets perdus grâce au numéro de séquence.
Deux signaux permettent de transmettre ces informations à d'autres classes.

Avertissement:
Si vous souhaitez placer cette classe dans un thread il ne faut pas définir de parent.

Définition à la ligne 15 du fichier hyperviseurudpsocket.h.


Documentation des constructeurs et destructeur

HyperviseurUDPSocket::HyperviseurUDPSocket ( quint16  port = 55000,
QObject *  parent = 0 
) [explicit]

Constructeur.

Le constructeur crée un socket UDP en écoute sur le port spécifié en paramètre.

Paramètres:
portle numéro du port.
parentpermet de spécifier le classe parente.

Définition à la ligne 10 du fichier hyperviseurudpsocket.cpp.


Documentation des fonctions membres

void HyperviseurUDPSocket::lireDatagrammes ( ) [private, slot]

Lit les messages (datagrammes) en attente de lecture.

Cette méthode lit les datagrammes en attente de lecture.
Elle vérifie le numéro de séquence pour déterminer si des paquets ont été perdus.
Si l'adresse ip n'est pas connue, elle est ajoutée à seqNbTable.
Les données sont ensuites extraites puis converties en String et le signal nouvellesDonnes(QString donnees) est émis.

Définition à la ligne 25 du fichier hyperviseurudpsocket.cpp.

void HyperviseurUDPSocket::nouvellesDonnes ( QString  donnees) [signal]

Émis lorsqu'une donnée est reçue d'un daemon.

Ce signal est émis à chaque fois qu'une donnée en provenance d'un daemon est reçue.

Paramètres:
donneescontient les données (au format JSON).
void HyperviseurUDPSocket::paquetsPerdus ( int  nb) [signal]

Émis lorsque des paquets n'ont pas été reçus.

Ce signal est émis à chaque fois qu'un ou plusieurs paquets sont perdus. La perte d'un paquet est détectée lorsque le numéro de séquence ne correspond pas au dernier numéro reçu plus un.

Note:
Si le numéro de séquence est égal à zéro le signal n'est pas émis car cela est considéré comme un redémarrage du daemon.
Si le daemon n'est pas encore connu (aucun paquet n'a été reçu en provenance de cet IP) le signal n'est pas émis, peu importe le numéro de séquence.
Si le numéro de séquence est plus petit que le précédent le signal n'est pas émis. Cela se produit généralement lorsqu'un paquet a pris un chemin plus long et est arrivé après son suivant.
Avertissement:
Un numéro de séquence est sauvegardé par adresse IP, par conséquent si il y a plusieurs daemon sur une adresse IP des paquets perdus seront signalés à tort.
Paramètres:
nble nombre de paquets perdus.

Documentation des données membres

QHash<QString, quint32> HyperviseurUDPSocket::seqNbTable [private]

Cette table de hachage stocke le numéro de séquence du dernier paquet reçu pour chaque IP.

Définition à la ligne 48 du fichier hyperviseurudpsocket.h.


La documentation de cette classe a été générée à partir des fichiers suivants :
 Tout Classes Fichiers Fonctions Variables Macros