Master 1 network course project

Théophile Bastian 98a6b0d409 Add sample configuration file 4 years ago
report 092460c60d Report 4 years ago
utils 50975cd0e0 Fix ihu_replier 4 years ago
.gitignore 143cff86f5 Add fake client sending IHUs 4 years ago
Bytes.cpp 98924f4ca6 Now flooding data — a bit too much 4 years ago
Bytes.h 98924f4ca6 Now flooding data — a bit too much 4 years ago
Makefile e8a2c37d96 Readme 4 years ago
README.md 98a6b0d409 Add sample configuration file 4 years ago
cfg.default 98a6b0d409 Add sample configuration file 4 years ago
configFile.cpp 9104f40aaf Conform to datId = senderId 4 years ago
configFile.h 9104f40aaf Conform to datId = senderId 4 years ago
data.h e5857f842d Update constants, data 4 years ago
dataStore.cpp 0289df4cdd Fix > → >= 4 years ago
dataStore.h fa51b5c170 Datastore: no priority queue anymore for republish 4 years ago
flooder.cpp 68347f8b0c Fix flooder: broken reference. 4 years ago
flooder.h 86c91f7488 Sends, floods and receives data 4 years ago
headcomment.txt 6c05e83024 Add headcomment 4 years ago
main.cpp 9104f40aaf Conform to datId = senderId 4 years ago
neighbours.cpp a31d9e29eb Dump data on RETURN ; FIX sending 4 years ago
neighbours.h a31d9e29eb Dump data on RETURN ; FIX sending 4 years ago
nw_constants.h 2461868888 Report; update republish interval 4 years ago
packetParser.cpp 676a3822ed Improve robustness to badly shaped packets 4 years ago
packetParser.h 98924f4ca6 Now flooding data — a bit too much 4 years ago
protocol.cpp a31d9e29eb Dump data on RETURN ; FIX sending 4 years ago
protocol.h a31d9e29eb Dump data on RETURN ; FIX sending 4 years ago

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.