Master 1 network course project
Go to file
Théophile Bastian 98a6b0d409 Add sample configuration file 2016-11-28 19:09:21 +01:00
report Report 2016-11-28 19:00:24 +01:00
utils Fix ihu_replier 2016-11-28 15:18:27 +01:00
.gitignore Add fake client sending IHUs 2016-11-25 15:48:08 +01:00
Bytes.cpp Now flooding data — a bit too much 2016-11-26 16:20:20 +01:00
Bytes.h Now flooding data — a bit too much 2016-11-26 16:20:20 +01:00
Makefile Readme 2016-11-26 20:42:00 +01:00
README.md Add sample configuration file 2016-11-28 19:09:21 +01:00
cfg.default Add sample configuration file 2016-11-28 19:09:21 +01:00
configFile.cpp Conform to datId = senderId 2016-11-27 13:26:27 +01:00
configFile.h Conform to datId = senderId 2016-11-27 13:26:27 +01:00
data.h Update constants, data 2016-11-20 00:15:09 +01:00
dataStore.cpp Fix > → >= 2016-11-28 18:53:49 +01:00
dataStore.h Datastore: no priority queue anymore for republish 2016-11-28 18:39:34 +01:00
flooder.cpp Fix flooder: broken reference. 2016-11-28 15:17:35 +01:00
flooder.h Sends, floods and receives data 2016-11-26 19:17:56 +01:00
headcomment.txt Add headcomment 2016-11-16 17:52:04 +01:00
main.cpp Conform to datId = senderId 2016-11-27 13:26:27 +01:00
neighbours.cpp Dump data on RETURN ; FIX sending 2016-11-27 12:16:56 +01:00
neighbours.h Dump data on RETURN ; FIX sending 2016-11-27 12:16:56 +01:00
nw_constants.h Report; update republish interval 2016-11-27 21:28:46 +01:00
packetParser.cpp Improve robustness to badly shaped packets 2016-11-26 20:42:29 +01:00
packetParser.h Now flooding data — a bit too much 2016-11-26 16:20:20 +01:00
protocol.cpp Dump data on RETURN ; FIX sending 2016-11-27 12:16:56 +01:00
protocol.h Dump data on RETURN ; FIX sending 2016-11-27 12:16:56 +01:00

README.md

M1-nw-project

Projet de cours "réseau", M1 https://tobast.fr/m1/nw-project.pdf

Dépendances

  • g++ (version supportant c++14) ou tout autre compilateur c++ (éditer le Makefile pour changer CXX)
  • pthread

Compiler

Lancer simplement make.

Lancer

Le programme fourni prend en argument le chemin vers un fichier de configuration, dont chaque ligne commence par un mot-clé suivi de ses arguments.

  • id [ID du programme] : laisser vide par défaut, sera généré automatiquement.
  • bootstrap [ID du nœud] [adresse IPv6 du nœud] [port] : déclare le nœud comme nœud de bootstrap. L'adresse peut être IPv4-mapped, eg. ::FFFF:42.42.42.42.
  • data [donnée] : déclare une donnée à propager. La donnée peut contenir des espaces, et s'étend jusqu'à la fin de la ligne.

Un tel fichier de configuration « exemple » est fourni : cfg.default.

Le programme, à l'initialisation, lit le fichier puis le réécrit avec éventuellement des données tirées au hasard si nécessaire (eg. ID du nœud).

Le programme produit des logs verbeux mais humainement lisibles sur sa sortie d'erreur (stderr).

Le programme affiche son état actuel (voisins + infos sur eux, données + infos sur elles) lors d'un appui sur RETURN.

Un SIGINT (^C) permet l'arrêt propre du programme.