fr.lip6.sma.simulacion.server.mdxr
Class MDXRAgentListManager

java.lang.Object
  extended by fr.lip6.sma.simulacion.server.AgentListManagerImpl
      extended by fr.lip6.sma.simulacion.server.mdxr.MDXRAgentListManager
All Implemented Interfaces:
com.kallisys.zeroconf.MulticastDNSClient, AgentListManager

public class MDXRAgentListManager
extends AgentListManagerImpl
implements com.kallisys.zeroconf.MulticastDNSClient

Classe pour gérer la liste des agents sur le réseau. Cette classe s'interface avec le service mDNS et les agents sont accessibles par XML-RPC.

Version:
$Revision: 3 $
Author:
Paul Guyot
See Also:
"aucun test défini."

Field Summary
private  com.kallisys.zeroconf.MulticastDNSServer mMulticastDNSServer
          Serveur MulticastDNS
private  int mPort
          Port sur lequel écoute le serveur.
private  List mRegistrationRequests
          Liste des requêtes d'enregistrement pour les agents locaux.
private  MDXRServer mServer
          Référence sur le serveur.
private static String SERVICE_TYPE
          Type de service.
 
Fields inherited from interface com.kallisys.zeroconf.MulticastDNSClient
BROWSERFLAG_MORECOMING, BROWSERFLAG_REMOVE
 
Constructor Summary
MDXRAgentListManager(MDXRServer inServer, Collection inPlayerClasses)
          Constructeur à partir d'un serveur MDXR.
 
Method Summary
private  boolean agentIsLocal(String inServiceName)
          Détermine si un agent repéré est en fait un agent local.
 void multicastDNSBrowserCallBack(int inRequestID, int inBrowserFlags, com.kallisys.zeroconf.NetService inService, IOException inException)
          Méthode appelée lorsqu'une réponse est arrivée ou lorsqu'une erreur est survenue.
 void multicastDNSRegistrationCallBack(int inRequestID, com.kallisys.zeroconf.NetService inService, IOException inException)
          Méthode appelée lorsqu'une erreur est survenue lors de l'enregistrement d'un service.
 void multicastDNSResolutionCallBack(int inRequestID, com.kallisys.zeroconf.NetService inService, IOException inException)
          Méthode appelée lorsqu'une réponse pour la résolution est arrivée.
 void registerLocalAgent(LocalAgent inLocalAgent)
          Enregistre un agent local sur le réseau.
private  void registrationFailed(LocalAgent inLocalAgent)
          Indique aux clients que l'enregistrement a échoué.
(package private)  void shutdown()
          Extinction.
 void unregisterLocalAgent(LocalAgent inLocalAgent)
          Désenregistre un agent local du réseau.
 
Methods inherited from class fr.lip6.sma.simulacion.server.AgentListManagerImpl
addListener, getAgent, getAgentByName, getAgentList, getAgentSet, isPlayerClass, removeListener, tellClientsThatListChanged, tellClientsThatRegistrationFailed, tellClientsThatRegistrationSucceeded
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

SERVICE_TYPE

private static final String SERVICE_TYPE
Type de service.

See Also:
Constant Field Values

mMulticastDNSServer

private final com.kallisys.zeroconf.MulticastDNSServer mMulticastDNSServer
Serveur MulticastDNS


mPort

private final int mPort
Port sur lequel écoute le serveur.


mServer

private final MDXRServer mServer
Référence sur le serveur.


mRegistrationRequests

private final List mRegistrationRequests
Liste des requêtes d'enregistrement pour les agents locaux. Les clés sont des chaînes nom:classe des agents.

Constructor Detail

MDXRAgentListManager

MDXRAgentListManager(MDXRServer inServer,
                     Collection inPlayerClasses)
Constructeur à partir d'un serveur MDXR. Lance la recherche des avatars.

Parameters:
inServer - serveur MDXR (son port nous intéresse).
inPlayerClasses - classes des joueurs.
Method Detail

registerLocalAgent

public final void registerLocalAgent(LocalAgent inLocalAgent)
Enregistre un agent local sur le réseau.

Specified by:
registerLocalAgent in interface AgentListManager
Specified by:
registerLocalAgent in class AgentListManagerImpl
Parameters:
inLocalAgent - agent local à enregistrer sur le réseau

unregisterLocalAgent

public final void unregisterLocalAgent(LocalAgent inLocalAgent)
Désenregistre un agent local du réseau.

Specified by:
unregisterLocalAgent in interface AgentListManager
Specified by:
unregisterLocalAgent in class AgentListManagerImpl
Parameters:
inLocalAgent - agent local à désenregistrer.

multicastDNSRegistrationCallBack

public final void multicastDNSRegistrationCallBack(int inRequestID,
                                                   com.kallisys.zeroconf.NetService inService,
                                                   IOException inException)
Méthode appelée lorsqu'une erreur est survenue lors de l'enregistrement d'un service. Cette méthode est appelée dans le processus léger du service.

Specified by:
multicastDNSRegistrationCallBack in interface com.kallisys.zeroconf.MulticastDNSClient
Parameters:
inRequestID - identifiant de la requête
inService - service concerné
inException - exception décrivant l'erreur.

multicastDNSResolutionCallBack

public final void multicastDNSResolutionCallBack(int inRequestID,
                                                 com.kallisys.zeroconf.NetService inService,
                                                 IOException inException)
Méthode appelée lorsqu'une réponse pour la résolution est arrivée. Cette méthode est appelée dans le processus léger du service.

Specified by:
multicastDNSResolutionCallBack in interface com.kallisys.zeroconf.MulticastDNSClient
Parameters:
inRequestID - identifiant de la requête
inService - service concerné (modifié, sauf si une erreur est survenue)
inException - exception décrivant l'erreur (ou null si aucune erreur n'est survenue)

multicastDNSBrowserCallBack

public final void multicastDNSBrowserCallBack(int inRequestID,
                                              int inBrowserFlags,
                                              com.kallisys.zeroconf.NetService inService,
                                              IOException inException)
Méthode appelée lorsqu'une réponse est arrivée ou lorsqu'une erreur est survenue. Cette méthode est appelée dans le processus léger du service.

Specified by:
multicastDNSBrowserCallBack in interface com.kallisys.zeroconf.MulticastDNSClient
Parameters:
inRequestID - identifiant de la requête
inBrowserFlags - drapeaux indiquant ce qu'il faut faire du résultat (constantes BROWSERFLAG_XXX de cette interface).
inService - service retourné par le butineur de services, peut être null si une erreur est survenue.
inException - exception s'il s'agit d'une erreur, null sinon.

registrationFailed

private void registrationFailed(LocalAgent inLocalAgent)
Indique aux clients que l'enregistrement a échoué.

Parameters:
inLocalAgent - agent qui n'a pas pu Ítre enregistrÈ.

shutdown

final void shutdown()
Extinction.


agentIsLocal

private boolean agentIsLocal(String inServiceName)
Détermine si un agent repéré est en fait un agent local.

Parameters:
inServiceName - nom de service de l'agent.
Returns:
true si c'est un agent local, false sinon.