Class GossipTalker

java.lang.Object
  |
  +--GossipTalker

public class GossipTalker
extends java.lang.Object
implements java.lang.Runnable

E' la classe che esegue un Gossip "attivo" cioe' instaura la connessione ed effettua il protocollo dal lato del chiamante.

Author:
Francesco Baschieri

Field Summary
private  int remnum
          numero del RM remoto.
private  StatoRM stato
          Tiene traccia dello stato del RM passato nel costruttore.
 
Constructor Summary
GossipTalker(StatoRM s)
          Crea un'istanza di GossipTalker ricevendo come parametro solo lo stato del RM.
GossipTalker(StatoRM s, int remote)
          Crea un'istanza di GossipTalker ricevendo come parametri lo stato del RM locale e il numero del RM con cui si vuole scambiare un Gossip.
 
Method Summary
 void doGossip(int remote)
          Effettua il protocollo di Gossip.
 void run()
          Implementa il metodo run dell'interfaccia java.lang.Runnable per creare un thread che esegue il gossip verso un determinato RM.
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait
 

Field Detail

stato

private StatoRM stato
Tiene traccia dello stato del RM passato nel costruttore.

remnum

private int remnum
numero del RM remoto. Usato solo nel caso la classe venga utilizzata come thread.
Constructor Detail

GossipTalker

public GossipTalker(StatoRM s)
Crea un'istanza di GossipTalker ricevendo come parametro solo lo stato del RM. Utilizzata dai thread che vogliono utilizzare le proprieta' del GossipTalker al loro interno.

GossipTalker

public GossipTalker(StatoRM s,
                    int remote)
Crea un'istanza di GossipTalker ricevendo come parametri lo stato del RM locale e il numero del RM con cui si vuole scambiare un Gossip. Usato quando si sfrutta questa classe come Thread.
Parameters:
s - Stato del RM locale.
remote - Numero del RM remoto a cui si vuole inviare un Gossip.
Method Detail

doGossip

public void doGossip(int remote)
              throws GossipException
Effettua il protocollo di Gossip.
Parameters:
remote - Numero che identifica il RM remoto con cui scambiare il Gossip.

run

public void run()
Implementa il metodo run dell'interfaccia java.lang.Runnable per creare un thread che esegue il gossip verso un determinato RM.
Specified by:
run in interface java.lang.Runnable