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
-
clientLog
- Log manager associato al cliente
-
connection
- Link col server.
-
INITIAL_SLEEP_TIME
- Tempo di sleep iniziale.
-
MAX_RETRIES
- Numero massimo di tentativi per connettersi ad un server
-
PROTOCOL_PORT
- Porta del protocollo
-
protocolThread
- Thread della connessione
-
ClientProtocol(LogManager, String, SecurityFilter, boolean)
- Crea una connessione col server utilizzando il protocollo.
-
addLog(int, String)
- Aggiunge un messaggio di log al log manager, se presente.
-
getConnection()
- Restituisce la connessione associata al cliente.
-
getInitialSleepTime()
- Restituisce il ritardo iniziale.
-
getMaxRetries()
- Restituisce il numero massimo di tentativi che il protocollo
fa per collegarsi al server.
-
getProtocolPort()
- Restituisce la porta associata al servizio.
-
run()
- Se nel costruttore si è detto di creare un nuovo thread
allora questo metodo viene invocato dal Thread.
-
setInitialSleepTime(int)
- Assegna il valore iniziale del tempo per cui il protocollo
aspetta prima di provare a riconnettersi.
-
setMaxRetries(int)
- Setta il numero massimo di tentativi che il cliente
effettua prima di rinuciare a collegarsi.
-
setProtocolPort(int)
- Setta la porta del protocollo
-
speak(Connection)
- Questa classe implementa il protocollo dal lato del client.
-
stop()
- Chiude la connessione e arresta il thread associato al protocollo.
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.
MAX_RETRIES
private static int MAX_RETRIES
- Numero massimo di tentativi per connettersi ad un server
PROTOCOL_PORT
private static int PROTOCOL_PORT
- Porta del protocollo
connection
private Connection connection
- Link col server.
protocolThread
private Thread protocolThread
- Thread della connessione
clientLog
private LogManager clientLog
- Log manager associato al cliente
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
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.
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.
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.
getProtocolPort
public static final int getProtocolPort()
- Restituisce la porta associata al servizio.
- Returns:
- Restituisce la porta del protocollo.
setProtocolPort
public static final synchronized void setProtocolPort(int port)
- Setta la porta del protocollo
- Parameters:
- port - Porta del protocollo.
getConnection
public Connection getConnection()
- Restituisce la connessione associata al cliente.
- Returns:
- Connessione associata al cliente
stop
public final void stop()
- Chiude la connessione e arresta il thread associato al protocollo.
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.
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.
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
getInitialSleepTime
public final int getInitialSleepTime()
- Restituisce il ritardo iniziale.
- Returns:
- Il ritardo iniziale.
All Packages Class Hierarchy This Package Previous Next Index