2016-11-16 17:46:18 +01:00
|
|
|
# M1-nw-project
|
|
|
|
|
2016-11-26 20:42:00 +01:00
|
|
|
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`)
|
|
|
|
* Bibliothèques standard POSIX
|
|
|
|
|
|
|
|
## 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 [id de donnée] [donnée]` : déclare une donnée à propager. Si l'id est
|
|
|
|
0, il sera tiré au hasard puis enregistré. La donnée peut contenir des
|
|
|
|
espaces, et s'étend jusqu'à la fin de la ligne.
|
|
|
|
|
|
|
|
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, des
|
|
|
|
données).
|
|
|
|
|
|
|
|
Le programme produit des logs verbeux mais humainement lisibles sur sa sortie
|
|
|
|
d'erreur (stderr).
|