|
|||||||||||
| 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
|
+--graphe.ColorationDistribuee
Classe ThreadCandidat. Cette classe hérite de tous les attributs et méthodes de ThreadSommet, les élections en plus.
| Field Summary | |
private boolean[] |
couleursLibres
Tableau de taille le nombre de couleurs (nbCouleurs). |
private int[] |
couleursVoisins
Tableau de taille le nombre de voisins (nbvoisins), permet d'associer chacun de mes voisins déjà colorié à sa couleur |
java.lang.String |
etat
Etat du sommet |
private int |
initiateurId
L'initiateur du message |
private int |
maCouleur
numéro de la couleur que j'ai choisie, -1 sinon |
private java.lang.String |
message
Le message reçu |
private int |
nbColoration
Nombre de coloration effectuées |
private int[] |
nbCouleurReçues
Tableau du nombre de couleurs reçues par chaque voisin |
private int |
nbCouleurs
Nombre de couleurs de la coloration |
private int |
nbRepAtt
Nombre de couleurs de la coloration |
private java.util.StringTokenizer |
strToken
Utilisé pour interpréter les message |
| Fields inherited from class graphe.ElectionDistribuee |
max, nbFils, niveau, pere, tmpPere |
| 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 | |
ColorationDistribuee(int i,
int nb,
boolean[] v,
javax.swing.JTextArea out)
Constructeur - sauve le nombre de couleurs de la k-coloration - initialise les couleurs de tous mes voisins à -1 - initialise toutes les couleurs libres à oui |
|
| Method Summary | |
private void |
actualiserCouleurs(int k,
int c)
Actualise : - le tableau des couleurs libres en fonction de toutes les couleurs des voisins - le nombre de fils : nombre de voisins total moins voisins colorés |
private int |
choisirCouleur()
Méthode de choix d'une couleur: |
(package private) void |
envoiATousMesFils(java.lang.String s)
Transfere un message à tous mes fils un fils est un voisin non coloré |
(package private) void |
envoiATousMesFilsSaufMonPere(java.lang.String s,
int monPere)
Transfere un message à tous mes fils sauf mon père un fils est un voisin non coloré |
(package private) void |
envoiATousMesPeres(java.lang.String s)
Transfere un message à tous mes pères un père est un voisin coloré |
void |
etat()
affichage de l'état du sommet |
int |
getCouleur()
Accesseur sur la couleur |
int |
getDuree()
Getter de la durée d'un traitement |
void |
interprete(java.lang.String s,
int i)
Méthode d'interprétation des messages reçus - Acquittement - Candidat - Couleur - Ok - Erreur |
(package private) void |
lancerColoration()
Méthodes permettant de se colorer et de transmettre sa couleur à ses fils Choix de la couleur Si je n'ai pas trouvé de couleur Alors J'envoie un message d'erreur à mon père Sinon Si je n'ai plus de fils Alors j'envoie OK à tous mes voisins colorés Sinon Je diffuse ma couleur à mes fils |
void |
setNbCouleurs(int k)
Setter nbCouleurs |
(package private) void |
sur_Reception_Couleur(int c,
int j,
int niv)
Effectue les traitements afférents à la réception d'une couleur Si mon niveau est supérieur au niveau reçu Alors J'ai déjà participé à un processus d'élection Je sauve la couleur reçue Sinon Si je n'ai pas déjà reçu de couleur du sommet Alors Je lance la candidature Sinon (j'ai déjà reçu sa couleur) Si le voisin en question est mon père Alors je lance une coloration (car je sais que je serai l'élu) |
private void |
sur_Reception_Erreur(int niv)
Effectue les traitements afférents à une réception de message Erreur (un de mes fils n'a pas réussi à se colorer) - Réinitialise le niveau de traitement - Recommence une coloration |
private void |
sur_Reception_Ok()
Effectue les traitements afférents à une réception de message Ok (un de mes fils a réussi à se colorer) Décrémente le nombre de réponse attendues Si j'ai reçu toutes les réponses attendues, j'envoie à tous mes pères le signal que j'ai réussi à me colorer et que tous mes fils sont bien colorés |
| Methods inherited from class graphe.ElectionDistribuee |
candidature, sur_Reception_de_Acquittement, sur_Reception_de_Candidat |
| Methods inherited from class graphe.Sommet |
cancel, ecrit, getEcrivain, getLecteur, getNbMess, getNbMessCouleur, initTubes, 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 int nbCouleurs
private int nbRepAtt
private int maCouleur
private boolean[] couleursLibres
private int[] couleursVoisins
private java.util.StringTokenizer strToken
private java.lang.String message
private int initiateurId
public java.lang.String etat
private int nbColoration
private int[] nbCouleurReçues
| Constructor Detail |
public ColorationDistribuee(int i,
int nb,
boolean[] v,
javax.swing.JTextArea out)
| Method Detail |
public final int getCouleur()
public final void setNbCouleurs(int k)
public final int getDuree()
getDuree in class Sommetprivate final int choisirCouleur()
final void lancerColoration()
throws java.io.IOException
lancerColoration in class ElectionDistribueejava.io.IOException
final void sur_Reception_Couleur(int c,
int j,
int niv)
throws java.io.IOException
sur_Reception_Couleur in class ElectionDistribueejava.io.IOException
private final void sur_Reception_Erreur(int niv)
throws java.io.IOException
java.io.IOException
private final void sur_Reception_Ok()
throws java.io.IOException
java.io.IOException
private final void actualiserCouleurs(int k,
int c)
public final void interprete(java.lang.String s,
int i)
throws java.io.IOException
interprete in class Sommetjava.io.IOException
final void envoiATousMesPeres(java.lang.String s)
throws java.io.IOException
envoiATousMesPeres in class ElectionDistribueejava.io.IOException
final void envoiATousMesFils(java.lang.String s)
throws java.io.IOException
envoiATousMesFils in class ElectionDistribueejava.io.IOException
final void envoiATousMesFilsSaufMonPere(java.lang.String s,
int monPere)
throws java.io.IOException
envoiATousMesFilsSaufMonPere in class ElectionDistribueejava.io.IOExceptionpublic final void etat()
etat in class ElectionDistribuee
|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||