networking.server
Class MasterServer

java.lang.Object
  extended by networking.server.MasterServerListenersHost
      extended by networking.server.MasterServer
All Implemented Interfaces:
java.lang.Runnable, IMasterServer, IMasterServerListenersHost
Direct Known Subclasses:
MasterServerEx

 class MasterServer
extends MasterServerListenersHost
implements IMasterServer


Field Summary
private  boolean m_active
          Indicate active state
private  java.util.List m_clients
          List of clients being servered
private  int m_limit
          Maximum clients allowed to serve
private  int m_port
          Bind port
private  java.util.List m_servers
          List of registered servers
private  java.net.ServerSocket m_socket
          Server socket
private  int m_talkLimit
          Maximum talk clients allowed to serve
private static int PORT
          MasterServer port
 
Fields inherited from class networking.server.MasterServerListenersHost
LIST_CHANGED, LOG, STARTED, TERMINATED
 
Constructor Summary
protected MasterServer()
          Construct new MasterServer object
protected MasterServer(int port)
          Construct new MasterServer object to run on port @port
 
Method Summary
private  void clientListChanged()
          Inform servers about clients list changes
private  void error(java.lang.Exception e)
          Report error
(package private)  void error(java.lang.Exception e, Server s)
          Report error
 java.util.List getClients()
          Get a list of clients being served
 int getLimit()
          Get limit on clients number
 Server getServer(Client c)
          Get server object from client object
 java.util.List getServers()
          Get a list of registered servers
 int getTalkLimit()
          Get limit on talk clients number
protected  void log(java.lang.String s)
          Logging routine
(package private)  boolean register(Server s)
          Register new server
 void run()
           
 void setLimit(int limit)
          Set limit on clients number
 void setTalkLimit(int limit)
          Set limit on talk clients number
 void shutdown()
          Shutdown the server
 void stop()
          Stop the server
(package private)  void unregister(Server s)
          Unregister server
 
Methods inherited from class networking.server.MasterServerListenersHost
addListener, fire, fire, removeListener
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface networking.server.IMasterServerListenersHost
addListener, removeListener
 

Field Detail

PORT

private static final int PORT
MasterServer port

See Also:
Constant Field Values

m_port

private int m_port
Bind port


m_socket

private java.net.ServerSocket m_socket
Server socket


m_active

private boolean m_active
Indicate active state


m_limit

private int m_limit
Maximum clients allowed to serve


m_talkLimit

private int m_talkLimit
Maximum talk clients allowed to serve


m_servers

private java.util.List m_servers
List of registered servers


m_clients

private java.util.List m_clients
List of clients being servered

Constructor Detail

MasterServer

protected MasterServer()
Construct new MasterServer object


MasterServer

protected MasterServer(int port)
Construct new MasterServer object to run on port @port

Parameters:
port - port
Method Detail

error

private void error(java.lang.Exception e)
Report error

Parameters:
e - exception

run

public void run()
Specified by:
run in interface java.lang.Runnable

stop

public void stop()
Description copied from interface: IMasterServer
Stop the server

Specified by:
stop in interface IMasterServer

shutdown

public void shutdown()
Description copied from interface: IMasterServer
Shutdown the server

Specified by:
shutdown in interface IMasterServer

clientListChanged

private void clientListChanged()
                        throws java.lang.Exception
Inform servers about clients list changes

Throws:
java.lang.Exception

register

boolean register(Server s)
           throws java.lang.Exception
Register new server

Parameters:
s - server
Returns:
true on success, otherwise false
Throws:
java.lang.Exception

unregister

void unregister(Server s)
          throws java.lang.Exception
Unregister server

Parameters:
s - server
Throws:
java.lang.Exception

getServers

public final java.util.List getServers()
Get a list of registered servers

Returns:
list of Server objects

getClients

public final java.util.List getClients()
Get a list of clients being served

Returns:
list of Client objects

getServer

public final Server getServer(Client c)
Get server object from client object

Parameters:
c - client object

getLimit

public final int getLimit()
Description copied from interface: IMasterServer
Get limit on clients number

Specified by:
getLimit in interface IMasterServer
Returns:
limit on clients number

setLimit

public void setLimit(int limit)
Description copied from interface: IMasterServer
Set limit on clients number

Specified by:
setLimit in interface IMasterServer
Parameters:
limit - on clients number

getTalkLimit

public final int getTalkLimit()
Description copied from interface: IMasterServer
Get limit on talk clients number

Specified by:
getTalkLimit in interface IMasterServer
Returns:
limit on talk clients number

setTalkLimit

public void setTalkLimit(int limit)
Description copied from interface: IMasterServer
Set limit on talk clients number

Specified by:
setTalkLimit in interface IMasterServer
Parameters:
limit - on talk clients number

log

protected void log(java.lang.String s)
Logging routine

Parameters:
s - log message

error

void error(java.lang.Exception e,
           Server s)
Report error

Parameters:
e - exception
s - server


Copyright © 2009 Alexey Veremenko. All rights reserved.