All Packages Class Hierarchy This Package Previous Next Index
Class it.unipi.di.vserver.ServerProtocol
java.lang.Object
|
+----it.unipi.di.vserver.ServerProtocol
- public abstract class ServerProtocol
- extends Object
- implements Runnable
Questa classe è la classe base per la realizzazione del protocollo
dal lato server. È in grado infatti di trasmettere in broadcast le
informazioni potendo enumerare le connessioni aperte.
Il server invoca il costruttore senza parametri. Si raccomanda di assegnare
nel costruttore il numero della porta da monitorare.
- Version:
- 1.0
- Author:
- Antonio Cisternino
-
connection
- Link col client.
-
parent
- Server del protocollo.
-
PROTOCOL_PORT
- Porta del protocollo
-
protocolThread
- Thread della connessione
-
serverPLog
- Log manager del protocollo.
-
stat
- Informazioni statistiche relative alla connessione.
-
ServerProtocol()
-
-
addLog(int, String)
- Aggiunge un messaggio di log al log manager, se presente.
-
getClients()
- Restituisce i clienti del server.
-
getConnection()
- Restituisce la connessione associata al cliente.
-
getProtocolPort()
- Restituisce la porta associata al servizio.
-
getSharedObject(String)
- Restituisce un oggetto associato ad una certa chiave.
-
init(LogManager, Socket, Server, SecurityFilter)
- Inizializza il protocollo.
-
registerSharedObject(String, Object)
- Registra un oggetto condiviso presso il server.
-
removeSharedObject(String)
- Rimuove un oggetto dalla lista degli oggetti condivisi.
-
replaceSharedObject(String, Object)
- Rimpiazza un oggetto condiviso nella tabella degli oggetti
condivisi.
-
run()
- Avvia il thread chiamando il metodo speak.
-
setPort(int)
- Setta la porta del protocollo
-
setStatisticData(Object)
- Registra nelle statistiche relative alla connessione dei dati
dipendenti dal protocollo.
-
speak(Connection)
- Questa classe implementa il protocollo dal lato del server.
-
stop()
- Chiude la connessione e arresta il thread associato al protocollo.
PROTOCOL_PORT
private int PROTOCOL_PORT
- Porta del protocollo
connection
private Connection connection
- Link col client.
parent
private Server parent
- Server del protocollo.
protocolThread
private Thread protocolThread
- Thread della connessione
serverPLog
private LogManager serverPLog
- Log manager del protocollo.
stat
private StatisticInfo stat
- Informazioni statistiche relative alla connessione.
ServerProtocol
public ServerProtocol()
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.
init
void init(LogManager log,
Socket s,
Server p,
SecurityFilter f) throws IOException
- Inizializza il protocollo.
- Parameters:
- log - Log manager da utilizzare
- s - Socket della connessione.
- p - Server a cui fa riferimento il protocollo.
- f - Filtro di sicurezza.
speak
protected abstract void speak(Connection conn)
- Questa classe implementa il protocollo dal lato del server.
Usare la connessione passata come parametro per leggere e scrivere.
- Parameters:
- conn - Connessione da utilizzare per dialogare col server.
run
public void run()
- Avvia il thread chiamando il metodo speak. Al termine del metodo
chiude la connessione chiamando il metodo close() della classe
Connection.
getProtocolPort
public final int getProtocolPort()
- Restituisce la porta associata al servizio.
- Returns:
- Restituisce la porta del protocollo.
setPort
public final synchronized void setPort(int port)
- Setta la porta del protocollo
- Parameters:
- port - Porta del protocollo.
getClients
protected final Enumeration getClients()
- Restituisce i clienti del server. Può essere utilizzato per
comunicazioni broadcast.
- Returns:
- Un'enumerazione contenente ServerProtocol
getConnection
public Connection getConnection()
- Restituisce la connessione associata al cliente.
- Returns:
- Connessione associata al cliente
stop
void stop()
- Chiude la connessione e arresta il thread associato al protocollo.
registerSharedObject
protected boolean registerSharedObject(String key,
Object obj)
- Registra un oggetto condiviso presso il server.
- Parameters:
- key - Nome dell'oggetto condiviso.
- obj - L'oggetto condiviso
- Returns:
- Viene restituito true se l'oggetto è stato registrato,
false se esisteva già un oggetto registrato con un dato nome.
Usare la funzione replaceSharedObject() per sostituire un oggetto
dalla tabella degli oggetti condivisi oppure removeSharedObject()
per eliminarlo.
getSharedObject
protected Object getSharedObject(String key)
- Restituisce un oggetto associato ad una certa chiave.
- Parameters:
- key - Chiave associato all'oggetto condiviso.
- Returns:
- L'oggetto condiviso, se questo non esiste viene restituito null.
removeSharedObject
protected void removeSharedObject(String key)
- Rimuove un oggetto dalla lista degli oggetti condivisi.
- Parameters:
- key - Chiave associata all'oggetto da rimuovere.
replaceSharedObject
protected Object replaceSharedObject(String key,
Object obj)
- Rimpiazza un oggetto condiviso nella tabella degli oggetti
condivisi.
- Parameters:
- key - Nome dell'oggetto condiviso.
- obj - L'oggetto condiviso
- Returns:
- L'oggetto sostituito, null se non era presente nessun oggetto
con una data chiave.
setStatisticData
protected void setStatisticData(Object obj)
- Registra nelle statistiche relative alla connessione dei dati
dipendenti dal protocollo. Si ricorda che un array è
instanceof Object.
- Parameters:
- obj - Informazioni statistiche dipendenti dal protocollo.
All Packages Class Hierarchy This Package Previous Next Index