All Packages Class Hierarchy This Package Previous Next Index
Class it.unipi.di.vserver.Server
java.lang.Object
|
+----it.unipi.di.vserver.Server
- public class Server
- extends Object
- implements Runnable
Classe che implementa un server. Un server è semplicemente un
gestore di protocolli. Realizza inoltre tutta l'infrastruttura di
comunicazione tra i processi che sono collegati al server.
Il protocollo vive tutto in una classe derivata da Protocol.
- Version:
- 1.0
- Author:
- Antonio Cisternino
-
clients
- Lista delle connessioni attive.
-
dummyF
- Security filter per riferire il metodo newInstance
del filtro.
-
dummyP
- Protocollo per riferire i metodi statici
della classe.
-
MAX_CONNECTIONS
- Numero massimo di connessioni accettate dal server.
-
runner
- Thread del server.
-
serverlog
- Log manager dove sono registrate le segnalazioni
di attività dei server.
-
serverName
- Nome del server.
-
serverProtocol
- Protocollo associato al server
-
sharedObjects
- Oggetti condivisi lato server.
-
stats
- File manager delle statistiche relative a
questo server.
-
systemlog
- Log manager
-
Server(StatisticsFileManager, String, String, String)
- Costruisce un server.
-
Server(StatisticsFileManager, String, String, String, int)
- Costruisce un server specificando il
numero della porta e il numero massimo di
connessioni contemporanee ammesse dal
server.
-
getClients()
- Restituisce un'enumerazione dei clienti connessi al server.
-
getServerMaxConnections()
- Restituisce il numero massimo di connessioni accettate dal server.
-
getServerName()
- Restituisce il nome del server.
-
getServerPort()
- Restituisce il numero della porta del server.
-
getSharedObject(String)
- Restituisce un oggetto associato ad una certa chiave.
-
initialize(StatisticsFileManager, String, String, String, int)
- Inizializzatore dell'oggetto.
-
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()
- Viene invocato dal metodo start.
-
setLogManager(LogManager)
- Setta il nuovo log manager per l'istanza.
-
start()
- Avvia il server in un proprio thread.
-
stop()
- Arresta il server.
-
writeStatistics(StatisticInfo)
- Scrive un pacchetto di informazioni statistiche relative
ad una connessione.
MAX_CONNECTIONS
protected static int MAX_CONNECTIONS
- Numero massimo di connessioni accettate dal server. Il default
vale -1 che indica nessun limite.
runner
private Thread runner
- Thread del server.
systemlog
private LogManager systemlog
- Log manager
serverlog
private LogManager serverlog
- Log manager dove sono registrate le segnalazioni
di attività dei server.
serverProtocol
private Class serverProtocol
- Protocollo associato al server
dummyP
private ServerProtocol dummyP
- Protocollo per riferire i metodi statici
della classe.
dummyF
private SecurityFilter dummyF
- Security filter per riferire il metodo newInstance
del filtro.
clients
private Vector clients
- Lista delle connessioni attive.
serverName
private String serverName
- Nome del server.
sharedObjects
private Hashtable sharedObjects
- Oggetti condivisi lato server.
stats
private StatisticsFileManager stats
- File manager delle statistiche relative a
questo server.
Server
public Server(StatisticsFileManager sfm,
String serverName,
String sf,
String p)
- Costruisce un server. Il numero massimo di connessioni non è
limitato.
- Parameters:
- sfm - Manager delle statistiche (se previsto). Se vale null non
viene utilizzato alcun meccanismo di statistica.
- serverName - Nome del server
- sf - Nome della classe SecurityFilter da utilizzare. Se non si
vuole utilizzare un security filter si ponga il parametro
a null.
- p - Nome della classe protocollo associato al server.
Server
public Server(StatisticsFileManager sfm,
String serverName,
String sf,
String p,
int max_conn)
- Costruisce un server specificando il
numero della porta e il numero massimo di
connessioni contemporanee ammesse dal
server.
- Parameters:
- sfm - Manager delle statistiche (se previsto). Se vale null non
viene utilizzato alcun meccanismo di statistica.
- serverName - Nome del server
- sf - Nome della classe SecurityFilter da utilizzare. Se non si
vuole utilizzare un security filter si ponga il parametro
a null.
- p - Nome della classe protocollo associato al server.
- max_conn - Massimo numero di connessioni.
initialize
private void initialize(StatisticsFileManager sfm,
String serverName,
String sf,
String p,
int max_conn)
- Inizializzatore dell'oggetto. Viene invocato dai costruttori.
- Parameters:
- sfm - Manager delle statistiche (se previsto). Se vale null non
viene utilizzato alcun meccanismo di statistica.
- serverName - Nome del server
- sf - Nome della classe SecurityFilter da utilizzare. Se non si
vuole utilizzare un security filter si ponga il parametro
a null.
- p - Nome della classe protocollo associato al server.
- max_conn - Massimo numero di connessioni.
start
public void start()
- Avvia il server in un proprio thread.
run
public void run()
- Viene invocato dal metodo start.
Esegue il ciclo fondamentale del server.
stop
public void stop()
- Arresta il server.
getServerPort
public int getServerPort()
- Restituisce il numero della porta del server.
- Returns:
- La porta su cui ascolta il server.
getServerMaxConnections
public int getServerMaxConnections()
- Restituisce il numero massimo di connessioni accettate dal server.
- Returns:
- Il numero massimo di connessioni.
getServerName
public String getServerName()
- Restituisce il nome del server.
- Returns:
- Il nome del server.
setLogManager
public LogManager setLogManager(LogManager logm)
- Setta il nuovo log manager per l'istanza.
- Parameters:
- logm - Nuovo logmanager
- Returns:
- Il logmanager che sta per essere rimpiazzato. Se vale null
significa che logm valeva null.
getClients
Enumeration getClients()
- Restituisce un'enumerazione dei clienti connessi al server.
- Returns:
- Un'enumerazione di ServerProtocol
registerSharedObject
boolean registerSharedObject(String key,
Object obj)
- Registra un oggetto condiviso presso il server. Non è un metodo
sincronizzato poiché lo è il metodo put della classe
Hashtable con cui è realizzata la lista degli elementi condivisi.
- 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
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
void removeSharedObject(String key)
- Rimuove un oggetto dalla lista degli oggetti condivisi.
- Parameters:
- key - Chiave associata all'oggetto da rimuovere.
replaceSharedObject
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.
writeStatistics
void writeStatistics(StatisticInfo info) throws IOException
- Scrive un pacchetto di informazioni statistiche relative
ad una connessione. Se il manager delle statistiche per il server
vale null non viene effettuata alcuna operazione.
- Parameters:
- info - Pacchetto da scrivere
- Throws: IOException
- Sollevata nel caso di errore di scrittura
del pacchetto.
All Packages Class Hierarchy This Package Previous Next Index