SOMA.network
Class NetworkManagerSecurity

java.lang.Object
  extended bySOMA.network.NetworkManager
      extended bySOMA.network.NetworkManagerSecurity

public class NetworkManagerSecurity
extends NetworkManager

Gestore delle comunicazioni di rete di un place.

Author:
Livio Profiri

Nested Class Summary
 class NetworkManagerSecurity.PermanentConnectionsExplorerItem
          Gestisce le connessioni permanenti fra domini.
 
Field Summary
 ConnectionStore connectionStore
          Informazioni sul place.
 
Fields inherited from class SOMA.network.NetworkManager
connectionCount, connectionsDir, connectionServer, env, networkManagerDir, permanentConnections, placeInfo
 
Constructor Summary
NetworkManagerSecurity(Environment env, int port)
          Costruttore.
 
Method Summary
 int isPermanentConnection(PlaceID placeID)
          Restituisce l'intero relativo alla connessione stabile con il place specificato.
 void NetworkManagerInit(int port)
           
 boolean sendCommand(java.net.InetAddress host, int port, Command aCommand)
          Spedizione di un comando ad un server di indirizzo: host:port.
 boolean sendCommand(PlaceID destID, Command aCommand)
          Spedizione di un comando ad un place.
 int startPermanentConnection(PlaceID placeID)
          Richiede una connessione stabile con il place specificato.
 int stopPermanentConnection(PlaceID placeID)
          Avvia una connessione stabile con il place specificato.
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

connectionStore

public ConnectionStore connectionStore
Informazioni sul place.

Constructor Detail

NetworkManagerSecurity

public NetworkManagerSecurity(Environment env,
                              int port)
                       throws java.io.IOException,
                              ConnectionServer.ConnectionServerException,
                              NameException
Costruttore.

Parameters:
env - L'environment del place.
port - La porta su cui avviare il server per le connessioni.
Method Detail

NetworkManagerInit

public void NetworkManagerInit(int port)
                        throws java.io.IOException,
                               ConnectionServer.ConnectionServerException,
                               NameException
Throws:
java.io.IOException
ConnectionServer.ConnectionServerException
NameException

sendCommand

public boolean sendCommand(PlaceID destID,
                           Command aCommand)
Spedizione di un comando ad un place.

Overrides:
sendCommand in class NetworkManager
Returns:
true se la spedizione ha avuto successo.

sendCommand

public boolean sendCommand(java.net.InetAddress host,
                           int port,
                           Command aCommand)
Spedizione di un comando ad un server di indirizzo: host:port.

Overrides:
sendCommand in class NetworkManager
Returns:
true se la spedizione ha avuto successo.

startPermanentConnection

public int startPermanentConnection(PlaceID placeID)

Richiede una connessione stabile con il place specificato.

Questo metodo altera la politica di gestione delle connessioni fra domini. Normalemnte le connessioni fra domini vengono attivate al momento della spedizione di un messaggio e disattivate subito dopo. Dopo una chiamata a startPermanentConnection, se siamo in un default place e se il place specificato appartiene ad un altro dominio, allora la connessione diretta a quel dominio non verra' interrotta dopo la spedizione di un messaggio, ma rimarra' attiva, pronta per la spedizione di eventuali successivi messaggi.

E' possibile ritornare al funzionamento normale con una chiamata a #stopPermanentConnection(placeID).

E' previsto un meccanismo per gestire più chiamate successive al metodo startPermanentConnection: ad ogni connessione e' associato un intero uguale a (NUMERO di start) - (NUMERO di stop). Questo intero corrisponde al numero di "procedure" che hanno fatto richiesta di connessione stabile e non hanno ancora terminato il loro compito. Quando l'intero va a zero si comunica all'altro pari la possiiblità di interrompere la connessione. Se anche all'altro capo della connessione nessuno ne ha piu' bisogno, la connessione viene terminata.

Overrides:
startPermanentConnection in class NetworkManager

stopPermanentConnection

public int stopPermanentConnection(PlaceID placeID)

Avvia una connessione stabile con il place specificato.

Overrides:
stopPermanentConnection in class NetworkManager
See Also:


isPermanentConnection

public int isPermanentConnection(PlaceID placeID)

Restituisce l'intero relativo alla connessione stabile con il place specificato.

Overrides:
isPermanentConnection in class NetworkManager
See Also:


toString

public java.lang.String toString()
Overrides:
toString in class NetworkManager


Copyright © 2004 Luca Foschini