Package net.sf.freecol.metaserver
Class MetaServerHandler
- java.lang.Object
 - 
- net.sf.freecol.metaserver.MetaServerHandler
 
 
- 
- All Implemented Interfaces:
 MessageHandler
public final class MetaServerHandler extends java.lang.Object implements MessageHandler
Handle network messages sent to the meta-server. 
- 
- 
Field Summary
Fields Modifier and Type Field Description private static java.util.logging.Loggerloggerprivate MetaRegistermetaRegisterThe register of connected FreeColServers.private MetaServermetaServerThe encapsulated meta-server. 
- 
Constructor Summary
Constructors Constructor Description MetaServerHandler(MetaServer metaServer, MetaRegister metaRegister)The constructor to use. 
- 
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private voiddisconnect(Connection connection)Handle a "disconnect"-request.Messagehandle(Connection connection, Message message)Handle an incoming message.Messageread(Connection connection)Read an incoming Message.private booleanregister(RegisterServerMessage message)Handle a "register"-request.private voidremove(RemoveServerMessage message)Handle a "remove"-request.private MessageserverList()Handle a "serverList"-request.private voidupdate(UpdateServerMessage message)Handle an "update"-request. 
 - 
 
- 
- 
Field Detail
- 
logger
private static final java.util.logging.Logger logger
 
- 
metaServer
private final MetaServer metaServer
The encapsulated meta-server. 
- 
metaRegister
private final MetaRegister metaRegister
The register of connected FreeColServers. 
 - 
 
- 
Constructor Detail
- 
MetaServerHandler
public MetaServerHandler(MetaServer metaServer, MetaRegister metaRegister)
The constructor to use.- Parameters:
 metaServer- TheMetaServerthisNetworkHandlerhas been created for.metaRegister- An object containing a list of all the servers.
 
 - 
 
- 
Method Detail
- 
handle
public Message handle(Connection connection, Message message) throws FreeColException
Handle an incoming message.- Specified by:
 handlein interfaceMessageHandler- Parameters:
 connection- TheConnectionthe message arrived on.message- TheMessageto handle.- Returns:
 - A reply message, if any.
 - Throws:
 FreeColException- if the message is malformed.
 
- 
read
public Message read(Connection connection) throws FreeColException, javax.xml.stream.XMLStreamException
Read an incoming Message.- Specified by:
 readin interfaceMessageHandler- Parameters:
 connection- TheConnectionto read from.- Returns:
 - The 
Messagefound, or null if none. - Throws:
 FreeColException- if the message can not be instantiated.javax.xml.stream.XMLStreamException- if there is a problem reading the message.
 
- 
disconnect
private void disconnect(Connection connection)
Handle a "disconnect"-request.- Parameters:
 connection- TheConnectionthe message came from.
 
- 
register
private boolean register(RegisterServerMessage message)
Handle a "register"-request.- Parameters:
 message- TheRegisterServerMessageto process.- Returns:
 - true if the server was registered.
 
 
- 
remove
private void remove(RemoveServerMessage message)
Handle a "remove"-request.- Parameters:
 message- TheRemoveServerMessageto process.
 
- 
serverList
private Message serverList()
Handle a "serverList"-request.- Returns:
 - A 
ServerListMessagewith attachedServerInfofor each current server known to the meta-register. 
 
- 
update
private void update(UpdateServerMessage message)
Handle an "update"-request.- Parameters:
 message- TheUpdateServerMessageto process.
 
 - 
 
 -