M1-nw-project/README.md

41 lines
1.3 KiB
Markdown

# 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.