All Packages  Class Hierarchy  This Package  Previous  Next  Index

Class it.unipi.di.vserver.ClientProtocol

java.lang.Object
   |
   +----it.unipi.di.vserver.ClientProtocol

public abstract class ClientProtocol
extends Object
implements Runnable

Questa classe è la classe base per la realizzazione del protocollo dal lato client.

Version:
1.0
Author:
Antonio Cisternino

Variable Index

 o clientLog
Log manager associato al cliente
 o connection
Link col server.
 o INITIAL_SLEEP_TIME
Tempo di sleep iniziale.
 o MAX_RETRIES
Numero massimo di tentativi per connettersi ad un server
 o PROTOCOL_PORT
Porta del protocollo
 o protocolThread
Thread della connessione

Constructor Index

 o ClientProtocol(LogManager, String, SecurityFilter, boolean)
Crea una connessione col server utilizzando il protocollo.

Method Index

 o addLog(int, String)
Aggiunge un messaggio di log al log manager, se presente.
 o getConnection()
Restituisce la connessione associata al cliente.
 o getInitialSleepTime()
Restituisce il ritardo iniziale.
 o getMaxRetries()
Restituisce il numero massimo di tentativi che il protocollo fa per collegarsi al server.
 o getProtocolPort()
Restituisce la porta associata al servizio.
 o run()
Se nel costruttore si è detto di creare un nuovo thread allora questo metodo viene invocato dal Thread.
 o setInitialSleepTime(int)
Assegna il valore iniziale del tempo per cui il protocollo aspetta prima di provare a riconnettersi.
 o setMaxRetries(int)
Setta il numero massimo di tentativi che il cliente effettua prima di rinuciare a collegarsi.
 o setProtocolPort(int)
Setta la porta del protocollo
 o speak(Connection)
Questa classe implementa il protocollo dal lato del client.
 o stop()
Chiude la connessione e arresta il thread associato al protocollo.

Variables

 o INITIAL_SLEEP_TIME
 private static int INITIAL_SLEEP_TIME
Tempo di sleep iniziale. Se non si riesce ad ottenere la connessione viene atteso questo tempo e successivamente viene raddoppiato per ritentare.

 o MAX_RETRIES
 private static int MAX_RETRIES
Numero massimo di tentativi per connettersi ad un server

 o PROTOCOL_PORT
 private static int PROTOCOL_PORT
Porta del protocollo

 o connection
 private Connection connection
Link col server.

 o protocolThread
 private Thread protocolThread
Thread della connessione

 o clientLog
 private LogManager clientLog
Log manager associato al cliente

Constructors

 o ClientProtocol
 public ClientProtocol(LogManager log,
                       String hostName,
                       SecurityFilter f,
                       boolean newThread) throws UnknownHostException, IOException
Crea una connessione col server utilizzando il protocollo.

Parameters:
log - LogManager da utilizzare per visualizzare i messaggi. Se non si vuole utilizzare alcun log manager è sufficiente porre a null il prametro.
hostName - Nome dell'host da utilizzare.
f - Filtro di sicurezza da utilizzare.
newThread - Se vale true viene creato un nuovo thread in cui viene eseguito il protocollo. Altrimenti bisogna invocare manualmente il metodo run().
Throws: UnknownHostException
Host sconosciuto
Throws: IOException
Errore nella creazione del socket

Methods

 o addLog
 protected final void addLog(int type,
                             String msg)
Aggiunge un messaggio di log al log manager, se presente.

Parameters:
type - Classe di log.
type - Messaggio da inserire nel log.
 o speak
 protected abstract void speak(Connection conn)
Questa classe implementa il protocollo dal lato del client. Usare la connessione passata come parametro per leggere e scrivere.

Parameters:
conn - Connessione da utilizzare per dialogare col server.
 o run
 public void run()
Se nel costruttore si è detto di creare un nuovo thread allora questo metodo viene invocato dal Thread. Altrimenti deve essere invocato per far sì che venga chiamato il metodo speak. Al termine il metodo chiude la connessione chiamando il metodo close() della classe Connection.

 o getProtocolPort
 public static final int getProtocolPort()
Restituisce la porta associata al servizio.

Returns:
Restituisce la porta del protocollo.
 o setProtocolPort
 public static final synchronized void setProtocolPort(int port)
Setta la porta del protocollo

Parameters:
port - Porta del protocollo.
 o getConnection
 public Connection getConnection()
Restituisce la connessione associata al cliente.

Returns:
Connessione associata al cliente
 o stop
 public final void stop()
Chiude la connessione e arresta il thread associato al protocollo.

 o setMaxRetries
 public final synchronized void setMaxRetries(int max)
Setta il numero massimo di tentativi che il cliente effettua prima di rinuciare a collegarsi. Il valore dei default è 5. All'ennesimo tentativo viene atteso un tempo pari a 2n*initialSleepTime dove initialSleepTime può essere settato.

Parameters:
max - Numero massimo di tentativi.
 o getMaxRetries
 public final int getMaxRetries()
Restituisce il numero massimo di tentativi che il protocollo fa per collegarsi al server.

Returns:
Numero massimo di tentativi di connessione al server.
 o setInitialSleepTime
 public final synchronized void setInitialSleepTime(int time)
Assegna il valore iniziale del tempo per cui il protocollo aspetta prima di provare a riconnettersi. Questo tempo viene raddoppiato ad ogni tentativo. Il valore di default è 1000.

Parameters:
time - Ritardo iniziale espresso in millisecondi
 o getInitialSleepTime
 public final int getInitialSleepTime()
Restituisce il ritardo iniziale.

Returns:
Il ritardo iniziale.

All Packages  Class Hierarchy  This Package  Previous  Next  Index