|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Object
|
+--java.lang.Thread
|
+--graphe.Sommet
|
+--graphe.ElectionDistribuee
Classe ElectionDistribuee. Cette classe permet de gérer les élections dans le graphe sur le principe de la diffusion des messages.
| Field Summary | |
(package private) int |
max
Mémorisation de l'identificateur le plus grand |
private int |
maxNbFils
Nombre de fils maximum d'un sommet du graphe |
(package private) int |
nbFils
Nombre de fils ou nombre de voisins non coloriés |
private int[] |
nbreponse
tableau pour comptabiliser les réponses attendues |
(package private) int |
niveau
Niveau d'exécution de la coloration |
private boolean[] |
participant
tableau pour notifier la participation de chacun sur cette élection |
(package private) int |
pere
Identifiant de mon pere (celui qui m'a demandé de choisir une couleur) |
private int[] |
route
tableau de mémorisation d'où vient le message |
(package private) int |
tmpPere
donnée temporaire contenant l'identifiant du sommet qui m'a envoyé sa couleur et qui peut devenir mon père si je suis élu |
| Fields inherited from class graphe.Sommet |
fin, id, nbSommet, nbvoisins, voisins, voisinsId |
| Fields inherited from class java.lang.Thread |
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY |
| Constructor Summary | |
ElectionDistribuee(int i,
int nb,
boolean[] v,
javax.swing.JTextArea out)
Constructeur |
|
| Method Summary | |
void |
candidature(int init,
int couleurReçue)
Dépot de candidature auprès de ses voisins non colorés . |
(package private) abstract void |
envoiATousMesFils(java.lang.String s)
Methode abstraite |
(package private) abstract void |
envoiATousMesFilsSaufMonPere(java.lang.String s,
int monPere)
Methode abstraite |
(package private) abstract void |
envoiATousMesPeres(java.lang.String s)
Methode abstraite |
private boolean |
estVoisin(int idReçu)
Retourne si oui ou non le sommet est un voisin |
void |
etat()
affichage de l'état du sommet |
(package private) abstract void |
lancerColoration()
Methode abstraite |
private void |
reinitialiserVariablesElection(boolean candidat)
Réinitialise toutes les variables nécessaires à l'élection Si je suis candidat - considère que mon nombre de fils est le nombre de fils maxi - considère que mon id est l'id maxi Sinon - nombre de fils maxi à 0 (attend de recevoir le nombre de fils des candidats) - id maxi nul (attend de recevoir l'id des candidats) |
(package private) abstract void |
sur_Reception_Couleur(int c,
int j,
int niv)
Methode abstraite |
void |
sur_Reception_de_Acquittement(int idInit)
Appelée à la reception d'un message d'acquittement Décrémente le nombre d'acquitements attendus Si j'ai reçu tous les acquitements nécessaires : Si c'est un message que j'avais envoyé ET que je suis le max Alors je suis l'élu Sinon Je transmets l'acquitement vers l'émetteur initial du message |
void |
sur_Reception_de_Candidat(int exp,
int idInit,
int nbF,
int niv,
int init,
int couleurReçue)
Effectue les traitements afférents à la réception d'une candature Si je n'appartiens pas au niveau de l'élection Alors je réinitialise les paramètres de l'élection je deviens acteur de ce niveau Si j'ai déjà reçu le message d'élection de ce candidat Alors je le signale Si le candidat n'est pas satisfaisant Alors je le disqualifie Sinon je conserve ses caractéristiques je diffuse le message d'élection à tous mes fils |
| Methods inherited from class graphe.Sommet |
cancel, ecrit, getDuree, getEcrivain, getLecteur, getNbMess, getNbMessCouleur, initTubes, interprete, lit, println, run |
| Methods inherited from class java.lang.Thread |
activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, getContextClassLoader, getName, getPriority, getThreadGroup, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setName, setPriority, sleep, sleep, start, stop, stop, suspend, toString, yield |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
private boolean[] participant
private int[] nbreponse
private int[] route
int max
int niveau
int nbFils
int pere
int tmpPere
private int maxNbFils
| Constructor Detail |
public ElectionDistribuee(int i,
int nb,
boolean[] v,
javax.swing.JTextArea out)
| Method Detail |
public final void candidature(int init,
int couleurReçue)
throws java.io.IOException
candidature in class Sommetjava.io.IOExceptionprivate final void reinitialiserVariablesElection(boolean candidat)
public final void sur_Reception_de_Candidat(int exp,
int idInit,
int nbF,
int niv,
int init,
int couleurReçue)
throws java.io.IOException
java.io.IOException
public final void sur_Reception_de_Acquittement(int idInit)
throws java.io.IOException
java.io.IOExceptionpublic void etat()
etat in class Sommetprivate final boolean estVoisin(int idReçu)
abstract void lancerColoration()
throws java.io.IOException
java.io.IOException
abstract void envoiATousMesPeres(java.lang.String s)
throws java.io.IOException
java.io.IOException
abstract void envoiATousMesFils(java.lang.String s)
throws java.io.IOException
java.io.IOException
abstract void envoiATousMesFilsSaufMonPere(java.lang.String s,
int monPere)
throws java.io.IOException
java.io.IOException
abstract void sur_Reception_Couleur(int c,
int j,
int niv)
throws java.io.IOException
java.io.IOException
|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||