Report; update republish interval
This commit is contained in:
parent
9104f40aaf
commit
2461868888
2 changed files with 28 additions and 3 deletions
|
@ -31,7 +31,7 @@ const int TIMEOUT_SYM_IHU = 300; // s
|
||||||
const int TIMEOUT_DATA = 35*60; // s
|
const int TIMEOUT_DATA = 35*60; // s
|
||||||
const int TIME_RESEND_IHU = 90; // s
|
const int TIME_RESEND_IHU = 90; // s
|
||||||
const int TIME_RESEND_EMPTY = 30; // s
|
const int TIME_RESEND_EMPTY = 30; // s
|
||||||
const int TIME_REPUBLISH_DATA = 25*60; // s
|
const int TIME_REPUBLISH_DATA = 15*60; // s
|
||||||
const int TIME_PEER_PEEK = 30; // s
|
const int TIME_PEER_PEEK = 30; // s
|
||||||
const int TIME_SEND_NR = 60; // s
|
const int TIME_SEND_NR = 60; // s
|
||||||
const int TIME_RESEND_FLOOD = 3; // s
|
const int TIME_RESEND_FLOOD = 3; // s
|
||||||
|
|
|
@ -22,7 +22,6 @@
|
||||||
\maketitle
|
\maketitle
|
||||||
|
|
||||||
\begin{abstract}
|
\begin{abstract}
|
||||||
|
|
||||||
L'implémentation du protocole en C++ respecte la spécification sur tous les
|
L'implémentation du protocole en C++ respecte la spécification sur tous les
|
||||||
cas observés. De plus, les paquets sont agrégés tant que possible pour
|
cas observés. De plus, les paquets sont agrégés tant que possible pour
|
||||||
éviter une surcharge du réseau, l'inondation est un peu optimisée et
|
éviter une surcharge du réseau, l'inondation est un peu optimisée et
|
||||||
|
@ -58,7 +57,7 @@ arguments.
|
||||||
|
|
||||||
\item \lstbash{bootstrap [ID du nœud] [adresse IPv6 du nœud] [port]}~:
|
\item \lstbash{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
|
déclare le nœud comme nœud de bootstrap. L'adresse peut être
|
||||||
IPv4-mapped, eg. `::FFFF:42.42.42.42`.
|
IPv4-mapped, eg. \texttt{::FFFF:42.42.42.42}.
|
||||||
|
|
||||||
\item \lstbash{data [donnée]}~: déclare une donnée à propager. La donnée
|
\item \lstbash{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.
|
peut contenir des espaces, et s'étend jusqu'à la fin de la ligne.
|
||||||
|
@ -76,6 +75,8 @@ d'erreur (stderr).
|
||||||
Le programme affiche son état actuel (voisins + infos sur eux, données + infos
|
Le programme affiche son état actuel (voisins + infos sur eux, données + infos
|
||||||
sur elles) lors d'un appui sur \textsc{return}.
|
sur elles) lors d'un appui sur \textsc{return}.
|
||||||
|
|
||||||
|
Un \textsc{sigint} (ctrl+C) permet l'arrêt propre du programme.
|
||||||
|
|
||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%
|
%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
\section{Implémentation}
|
\section{Implémentation}
|
||||||
|
|
||||||
|
@ -83,6 +84,30 @@ Tout d'abord, mon code est très --- trop --- long pour le programme demandé.
|
||||||
J'ai manqué de temps pour ce projet (beaucoup de choses à faire en parallèle)
|
J'ai manqué de temps pour ce projet (beaucoup de choses à faire en parallèle)
|
||||||
et j'ai donc plus produit du code rapidement qu'intelligemment\ldots
|
et j'ai donc plus produit du code rapidement qu'intelligemment\ldots
|
||||||
|
|
||||||
|
\subsection{Classes et fichiers}
|
||||||
|
|
||||||
|
\begin{itemize}
|
||||||
|
\item \lstcpp{Bytes}~: utilisé pour stocker des paquets. Permet une
|
||||||
|
extraction/insertion facile de types \og{}classiques~\fg~: \lstcpp{u8},
|
||||||
|
\lstcpp{u16}, \ldots
|
||||||
|
\item \lstcpp{ConfigFile}~: lit et écrit le fichier de configuration.
|
||||||
|
\item \lstcpp{DataStore}~: stocke les données inondées et les maintient à
|
||||||
|
jour.
|
||||||
|
\item \lstcpp{Flooder}~: inonde une donnée vers une liste de pairs, en
|
||||||
|
réessayant un nombre de fois défini (ici, 3).
|
||||||
|
\item \lstcpp{Neighbours}~: gère les voisins du nœud courant, leur
|
||||||
|
changement de type (potentiel, unidirectionnel, symétrique) et l'envoi
|
||||||
|
de paquets nécessaires (IHU, \ldots).
|
||||||
|
\item \lstcpp{PacketParser}~: reçoit les paquets entrants et les traite.
|
||||||
|
\item \lstcpp{Protocol}~: gère le réseau de \og{}bas niveau~\fg, permet
|
||||||
|
l'envoi de paquets de types donnés et gère le thread de réception de
|
||||||
|
paquets.
|
||||||
|
\item \lstcpp{data.h}~: définit les types de données et structures utiles
|
||||||
|
un peu partout.
|
||||||
|
\item \lstcpp{nw\_constants.h}~: définit les constantes relatives au réseau
|
||||||
|
et au protocole.
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
\subsection{Threads}
|
\subsection{Threads}
|
||||||
Le programme contient deux threads~:
|
Le programme contient deux threads~:
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
|
|
Loading…
Reference in a new issue