tigase.server
Class ConnectionManager<IO extends XMPPIOService>

java.lang.Object
  extended by tigase.server.BasicComponent
      extended by tigase.server.AbstractMessageReceiver
          extended by tigase.server.ConnectionManager<IO>
Type Parameters:
IO -
All Implemented Interfaces:
Configurable, XMPPService, IOServiceListener<IO>, MessageReceiver, ServerComponent, StatisticsContainer, VHostListener, XMPPIOServiceListener<IO>
Direct Known Subclasses:
ClientConnectionManager, ClusterConnectionManager, ComponentConnectionManager, ComponentProtocol, ServerConnectionManager

public abstract class ConnectionManager<IO extends XMPPIOService>
extends AbstractMessageReceiver
implements XMPPIOServiceListener<IO>

Describe class ConnectionManager here. Created: Sun Jan 22 22:52:58 2006

Version:
$Rev$
Author:
Artur Hefczyc

Field Summary
protected  long connectionDelay
           
protected static String MAX_RECONNECTS_PROP_KEY
           
protected  int net_buffer
           
static String NET_BUFFER_HT_PROP_KEY
          Field description
protected static int NET_BUFFER_HT_PROP_VAL
           
protected static String NET_BUFFER_PROP_KEY
           
static String NET_BUFFER_ST_PROP_KEY
          Field description
protected static int NET_BUFFER_ST_PROP_VAL
           
protected static String PORT_CLASS_PROP_KEY
           
protected static String PORT_IFC_PROP_KEY
           
 String[] PORT_IFC_PROP_VAL
          Field description
protected static String PORT_KEY
           
static String PORT_LOCAL_HOST_PROP_KEY
          Field description
protected static String PORT_REMOTE_HOST_PROP_KEY
           
protected static String PORT_REMOTE_HOST_PROP_VAL
           
protected static String PORT_SOCKET_PROP_KEY
           
protected static String PORT_TYPE_PROP_KEY
           
protected static String PORTS_PROP_KEY
           
protected static String PROP_KEY
           
protected static String TLS_ALLOW_INVALID_CERTS_PROP_KEY
           
protected static String TLS_ALLOW_INVALID_CERTS_PROP_VAL
           
protected static String TLS_ALLOW_SELF_SIGNED_CERTS_PROP_KEY
           
protected static String TLS_ALLOW_SELF_SIGNED_CERTS_PROP_VAL
           
protected static String TLS_CONTAINER_CLASS_PROP_KEY
           
protected static String TLS_CONTAINER_CLASS_PROP_VAL
           
protected static String TLS_DEF_CERT_PROP_KEY
           
protected static String TLS_DEF_CERT_PROP_VAL
           
protected static String TLS_KEYS_STORE_PASSWD_PROP_KEY
           
protected static String TLS_KEYS_STORE_PASSWD_PROP_VAL
           
protected static String TLS_KEYS_STORE_PROP_KEY
           
protected static String TLS_KEYS_STORE_PROP_VAL
           
protected static String TLS_PROP_KEY
           
protected static String TLS_REQUIRED_PROP_KEY
           
protected static boolean TLS_REQUIRED_PROP_VAL
           
protected static String TLS_SERVER_CERTS_DIR_PROP_KEY
           
protected static String TLS_SERVER_CERTS_DIR_PROP_VAL
           
protected static String TLS_TRUSTED_CERTS_DIR_PROP_KEY
           
protected static String TLS_TRUSTED_CERTS_DIR_PROP_VAL
           
protected static String TLS_TRUSTS_STORE_PASSWD_PROP_KEY
           
protected static String TLS_TRUSTS_STORE_PASSWD_PROP_VAL
           
protected static String TLS_TRUSTS_STORE_PROP_KEY
           
protected static String TLS_TRUSTS_STORE_PROP_VAL
           
protected static String TLS_USE_PROP_KEY
           
protected static boolean TLS_USE_PROP_VAL
           
 
Fields inherited from class tigase.server.AbstractMessageReceiver
HOUR, INCOMING_FILTERS_PROP_KEY, INCOMING_FILTERS_PROP_VAL, MAX_QUEUE_SIZE_PROP_KEY, MAX_QUEUE_SIZE_PROP_VAL, maxQueueSize, MINUTE, OUTGOING_FILTERS_PROP_KEY, OUTGOING_FILTERS_PROP_VAL, SECOND
 
Fields inherited from class tigase.server.BasicComponent
admins, SCRIPTS_DIR_PROP_DEF, SCRIPTS_DIR_PROP_KEY, vHostManager
 
Fields inherited from interface tigase.conf.Configurable
ADMINS_PROP_KEY, AUTH_REPO_CLASS_PROP_KEY, AUTH_REPO_PARAMS_NODE, AUTH_REPO_URL_PROP_KEY, BOSH_COMP_CLASS_NAME, C2S_CLUST_COMP_CLASS_NAME, C2S_COMP_CLASS_NAME, CL_COMP_CLASS_NAME, CLUSTER_CONECT, CLUSTER_CONTR_CLASS_NAME, CLUSTER_LISTEN, CLUSTER_MODE, CLUSTER_NODES, CLUSTER_NODES_PROP_KEY, COMP_PROT_CLASS_NAME, COMPONENT_ID_PROP_KEY, DEF_BOSH_NAME, DEF_C2S_NAME, DEF_CL_COMP_NAME, DEF_CLUST_CONTR_NAME, DEF_COMP_PROT_NAME, DEF_EXT_COMP_NAME, DEF_HOSTNAME_PROP_KEY, DEF_S2S_NAME, DEF_SM_NAME, DEF_SRECV_NAME, DEF_SSEND_NAME, DEF_STATS_NAME, DEF_VHOST_MAN_NAME, DERBY_REPO_CLASS_PROP_VAL, DERBY_REPO_URL_PROP_VAL, DRUPAL_REPO_CLASS_PROP_VAL, DRUPAL_REPO_URL_PROP_VAL, EXT_COMP_CLASS_NAME, GEN_ADMINS, GEN_AUTH_DB, GEN_AUTH_DB_URI, GEN_COMP_CLASS, GEN_COMP_NAME, GEN_CONF, GEN_CONFIG, GEN_CONFIG_ALL, GEN_CONFIG_COMP, GEN_CONFIG_CS, GEN_CONFIG_DEF, GEN_CONFIG_SM, GEN_DEBUG, GEN_DEBUG_PACKAGES, GEN_EXT_COMP, GEN_MAX_QUEUE_SIZE, GEN_SCRIPT_DIR, GEN_SM_PLUGINS, GEN_SREC_ADMINS, GEN_SREC_DB, GEN_SREC_DB_URI, GEN_TEST, GEN_TRUSTED, GEN_USER_DB, GEN_USER_DB_URI, GEN_VIRT_HOSTS, HOSTNAMES_PROP_KEY, LIBRESOURCE_REPO_CLASS_PROP_VAL, LIBRESOURCE_REPO_URL_PROP_VAL, MONITORING, MYSQL_REPO_CLASS_PROP_VAL, MYSQL_REPO_URL_PROP_VAL, PGSQL_REPO_CLASS_PROP_VAL, PGSQL_REPO_URL_PROP_VAL, ROUTER_COMP_CLASS_NAME, S2S_CLUST_COMP_CLASS_NAME, S2S_COMP_CLASS_NAME, SHARED_AUTH_REPO_PARAMS_PROP_KEY, SHARED_AUTH_REPO_PROP_KEY, SHARED_USER_REPO_PARAMS_PROP_KEY, SHARED_USER_REPO_POOL_PROP_KEY, SHARED_USER_REPO_PROP_KEY, SM_CLUS_COMP_CLASS_NAME, SM_COMP_CLASS_NAME, SRECV_COMP_CLASS_NAME, SSEND_COMP_CLASS_NAME, STATS_CLASS_NAME, STRINGPREP_PROCESSOR, TIGASE_AUTH_REPO_CLASS_PROP_VAL, TIGASE_AUTH_REPO_URL_PROP_VAL, TIGASE_CUSTOM_AUTH_REPO_CLASS_PROP_VAL, TRUSTED_PROP_KEY, USER_REPO_CLASS_PROP_KEY, USER_REPO_PARAMS_NODE, USER_REPO_POOL_SIZE, USER_REPO_POOL_SIZE_PROP_KEY, USER_REPO_URL_PROP_KEY, VHOST_MAN_CLASS_NAME, XML_REPO_CLASS_PROP_VAL, XML_REPO_URL_PROP_VAL
 
Fields inherited from interface tigase.disco.XMPPService
CMD_FEATURES, DEF_FEATURES, INFO_XMLNS, ITEMS_XMLNS
 
Constructor Summary
ConnectionManager()
           
 
Method Summary
protected  void addWaitingTask(Map<String,Object> conn)
           
protected  int countIOServices()
          Returns number of active network connections (IOServices).
protected  void doForAllServices(ServiceChecker checker)
          Perform a given action defined by ServiceChecker for all active IOService objects (active network connections).
 Map<String,Object> getDefaults(Map<String,Object> params)
          Method description
protected  int[] getDefPlainPorts()
           
protected  int[] getDefSSLPorts()
           
protected abstract  long getMaxInactiveTime()
           
protected  Map<String,Object> getParamsForPort(int port)
           
protected  String getServiceId(tigase.xmpp.JID jid)
           
protected  String getServiceId(Packet packet)
           
 void getStatistics(StatisticsList list)
          Generates the component statistics.
protected  String getUniqueId(IO serv)
           
protected  IO getXMPPIOService(Packet p)
           
protected  IO getXMPPIOService(String serviceId)
           
protected abstract  IO getXMPPIOServiceInstance()
           
 void initializationCompleted()
          Method description
protected  boolean isHighThroughput()
           
 void packetsReady(IO serv)
          Method description
 void processPacket(Packet packet)
          Method description
abstract  Queue<Packet> processSocketData(IO serv)
          Method description
 void release()
          Method description
 void serviceStarted(IO service)
          Method description
 boolean serviceStopped(IO service)
           
 void setName(String name)
          Method description
 void setProperties(Map<String,Object> props)
          Method description
 void start()
          Method description
 void writePacketsToSocket(IO serv, Queue<Packet> packets)
          Method description
 boolean writePacketToSocket(IO ios, Packet p)
          Method description
protected  boolean writePacketToSocket(Packet p)
           
protected  boolean writePacketToSocket(Packet p, String serviceId)
           
protected  void writeRawData(IO ios, String data)
           
 
Methods inherited from class tigase.server.AbstractMessageReceiver
addOutPacket, addOutPacketNB, addOutPackets, addOutPacketWithTimeout, addPacket, addPacketNB, addPackets, addRegexRouting, addTimerTask, addTimerTask, clearRegexRoutings, everyHour, everyMinute, everySecond, getMaxQueueSize, getRegexRoutings, hashCodeForPacket, isInRegexRoutings, newPacketId, processingThreads, processPacket, removeRegexRouting, setMaxQueueSize, setParent, stop
 
Methods inherited from class tigase.server.BasicComponent
addComponentDomain, getComponentId, getDefHostName, getDiscoCategoryType, getDiscoDescription, getDiscoFeatures, getDiscoFeatures, getDiscoInfo, getDiscoInfo, getDiscoItems, getDiscoItems, getName, getVHostItem, handlesLocalDomains, handlesNameSubdomains, handlesNonLocalDomains, initBindings, isAdmin, isLocalDomain, isLocalDomainOrComponent, processScriptCommand, removeComponentDomain, removeServiceDiscoveryItem, setVHostManager, updateServiceDiscoveryItem, updateServiceDiscoveryItem, updateServiceDiscoveryItem
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface tigase.xmpp.XMPPIOServiceListener
xmppStreamClosed, xmppStreamOpened
 
Methods inherited from interface tigase.server.MessageReceiver
getDefHostName
 
Methods inherited from interface tigase.server.ServerComponent
getComponentId, getName
 

Field Detail

NET_BUFFER_ST_PROP_KEY

public static final String NET_BUFFER_ST_PROP_KEY
Field description

See Also:
Constant Field Values

NET_BUFFER_HT_PROP_KEY

public static final String NET_BUFFER_HT_PROP_KEY
Field description

See Also:
Constant Field Values

PORT_KEY

protected static final String PORT_KEY
See Also:
Constant Field Values

PROP_KEY

protected static final String PROP_KEY
See Also:
Constant Field Values

PORTS_PROP_KEY

protected static final String PORTS_PROP_KEY
See Also:
Constant Field Values

PORT_TYPE_PROP_KEY

protected static final String PORT_TYPE_PROP_KEY
See Also:
Constant Field Values

PORT_SOCKET_PROP_KEY

protected static final String PORT_SOCKET_PROP_KEY
See Also:
Constant Field Values

PORT_IFC_PROP_KEY

protected static final String PORT_IFC_PROP_KEY
See Also:
Constant Field Values

PORT_CLASS_PROP_KEY

protected static final String PORT_CLASS_PROP_KEY
See Also:
Constant Field Values

PORT_REMOTE_HOST_PROP_KEY

protected static final String PORT_REMOTE_HOST_PROP_KEY
See Also:
Constant Field Values

PORT_REMOTE_HOST_PROP_VAL

protected static final String PORT_REMOTE_HOST_PROP_VAL
See Also:
Constant Field Values

TLS_PROP_KEY

protected static final String TLS_PROP_KEY
See Also:
Constant Field Values

TLS_USE_PROP_KEY

protected static final String TLS_USE_PROP_KEY
See Also:
Constant Field Values

TLS_USE_PROP_VAL

protected static final boolean TLS_USE_PROP_VAL
See Also:
Constant Field Values

TLS_REQUIRED_PROP_KEY

protected static final String TLS_REQUIRED_PROP_KEY
See Also:
Constant Field Values

TLS_REQUIRED_PROP_VAL

protected static final boolean TLS_REQUIRED_PROP_VAL
See Also:
Constant Field Values

TLS_KEYS_STORE_PROP_KEY

protected static final String TLS_KEYS_STORE_PROP_KEY
See Also:
Constant Field Values

TLS_KEYS_STORE_PROP_VAL

protected static final String TLS_KEYS_STORE_PROP_VAL

TLS_DEF_CERT_PROP_KEY

protected static final String TLS_DEF_CERT_PROP_KEY
See Also:
Constant Field Values

TLS_DEF_CERT_PROP_VAL

protected static final String TLS_DEF_CERT_PROP_VAL
See Also:
Constant Field Values

TLS_KEYS_STORE_PASSWD_PROP_KEY

protected static final String TLS_KEYS_STORE_PASSWD_PROP_KEY
See Also:
Constant Field Values

TLS_KEYS_STORE_PASSWD_PROP_VAL

protected static final String TLS_KEYS_STORE_PASSWD_PROP_VAL
See Also:
Constant Field Values

TLS_TRUSTS_STORE_PASSWD_PROP_KEY

protected static final String TLS_TRUSTS_STORE_PASSWD_PROP_KEY
See Also:
Constant Field Values

TLS_TRUSTS_STORE_PASSWD_PROP_VAL

protected static final String TLS_TRUSTS_STORE_PASSWD_PROP_VAL
See Also:
Constant Field Values

TLS_TRUSTS_STORE_PROP_KEY

protected static final String TLS_TRUSTS_STORE_PROP_KEY
See Also:
Constant Field Values

TLS_TRUSTS_STORE_PROP_VAL

protected static final String TLS_TRUSTS_STORE_PROP_VAL

TLS_CONTAINER_CLASS_PROP_KEY

protected static final String TLS_CONTAINER_CLASS_PROP_KEY
See Also:
Constant Field Values

TLS_CONTAINER_CLASS_PROP_VAL

protected static final String TLS_CONTAINER_CLASS_PROP_VAL
See Also:
Constant Field Values

TLS_SERVER_CERTS_DIR_PROP_KEY

protected static final String TLS_SERVER_CERTS_DIR_PROP_KEY
See Also:
Constant Field Values

TLS_SERVER_CERTS_DIR_PROP_VAL

protected static final String TLS_SERVER_CERTS_DIR_PROP_VAL
See Also:
Constant Field Values

TLS_TRUSTED_CERTS_DIR_PROP_KEY

protected static final String TLS_TRUSTED_CERTS_DIR_PROP_KEY
See Also:
Constant Field Values

TLS_TRUSTED_CERTS_DIR_PROP_VAL

protected static final String TLS_TRUSTED_CERTS_DIR_PROP_VAL
See Also:
Constant Field Values

TLS_ALLOW_SELF_SIGNED_CERTS_PROP_KEY

protected static final String TLS_ALLOW_SELF_SIGNED_CERTS_PROP_KEY
See Also:
Constant Field Values

TLS_ALLOW_SELF_SIGNED_CERTS_PROP_VAL

protected static final String TLS_ALLOW_SELF_SIGNED_CERTS_PROP_VAL
See Also:
Constant Field Values

TLS_ALLOW_INVALID_CERTS_PROP_KEY

protected static final String TLS_ALLOW_INVALID_CERTS_PROP_KEY
See Also:
Constant Field Values

TLS_ALLOW_INVALID_CERTS_PROP_VAL

protected static final String TLS_ALLOW_INVALID_CERTS_PROP_VAL
See Also:
Constant Field Values

MAX_RECONNECTS_PROP_KEY

protected static final String MAX_RECONNECTS_PROP_KEY
See Also:
Constant Field Values

NET_BUFFER_PROP_KEY

protected static final String NET_BUFFER_PROP_KEY
See Also:
Constant Field Values

NET_BUFFER_ST_PROP_VAL

protected static final int NET_BUFFER_ST_PROP_VAL
See Also:
Constant Field Values

NET_BUFFER_HT_PROP_VAL

protected static final int NET_BUFFER_HT_PROP_VAL
See Also:
Constant Field Values

PORT_LOCAL_HOST_PROP_KEY

public static final String PORT_LOCAL_HOST_PROP_KEY
Field description

See Also:
Constant Field Values

PORT_IFC_PROP_VAL

public String[] PORT_IFC_PROP_VAL
Field description


net_buffer

protected int net_buffer

connectionDelay

protected long connectionDelay
Constructor Detail

ConnectionManager

public ConnectionManager()
Method Detail

processSocketData

public abstract Queue<Packet> processSocketData(IO serv)
Method description

Parameters:
serv -
Returns:

getMaxInactiveTime

protected abstract long getMaxInactiveTime()

getXMPPIOServiceInstance

protected abstract IO getXMPPIOServiceInstance()

getDefaults

public Map<String,Object> getDefaults(Map<String,Object> params)
Method description

Specified by:
getDefaults in interface Configurable
Overrides:
getDefaults in class AbstractMessageReceiver
Parameters:
params -
Returns:

getStatistics

public void getStatistics(StatisticsList list)
Generates the component statistics.

Specified by:
getStatistics in interface StatisticsContainer
Overrides:
getStatistics in class AbstractMessageReceiver
Parameters:
list - is a collection to put the component statistics in.

initializationCompleted

public void initializationCompleted()
Method description

Specified by:
initializationCompleted in interface ServerComponent
Overrides:
initializationCompleted in class BasicComponent

packetsReady

public void packetsReady(IO serv)
                  throws IOException
Method description

Specified by:
packetsReady in interface IOServiceListener<IO extends XMPPIOService>
Parameters:
serv -
Throws:
IOException

processPacket

public void processPacket(Packet packet)
Method description

Specified by:
processPacket in class AbstractMessageReceiver
Parameters:
packet -

release

public void release()
Method description

Specified by:
release in interface ServerComponent
Overrides:
release in class AbstractMessageReceiver

serviceStarted

@TODO(note="Do something if service with the same unique ID is already started, possibly kill the old one...")
public void serviceStarted(IO service)
Method description

Parameters:
service -

serviceStopped

public boolean serviceStopped(IO service)
Specified by:
serviceStopped in interface IOServiceListener<IO extends XMPPIOService>
Parameters:
service -
Returns:

setName

public void setName(String name)
Method description

Specified by:
setName in interface ServerComponent
Overrides:
setName in class AbstractMessageReceiver
Parameters:
name -

setProperties

public void setProperties(Map<String,Object> props)
Method description

Specified by:
setProperties in interface Configurable
Overrides:
setProperties in class AbstractMessageReceiver
Parameters:
props -

start

public void start()
Method description

Specified by:
start in interface MessageReceiver
Overrides:
start in class AbstractMessageReceiver

writePacketToSocket

public boolean writePacketToSocket(IO ios,
                                   Packet p)
Method description

Parameters:
ios -
p -
Returns:

writePacketsToSocket

public void writePacketsToSocket(IO serv,
                                 Queue<Packet> packets)
Method description

Parameters:
serv -
packets -

addWaitingTask

protected void addWaitingTask(Map<String,Object> conn)

countIOServices

protected int countIOServices()
Returns number of active network connections (IOServices).

Returns:
number of active network connections (IOServices).

doForAllServices

protected void doForAllServices(ServiceChecker checker)
Perform a given action defined by ServiceChecker for all active IOService objects (active network connections).

Parameters:
checker - is a ServiceChecker instance defining an action to perform for all IOService objects.

getDefPlainPorts

protected int[] getDefPlainPorts()

getDefSSLPorts

protected int[] getDefSSLPorts()

getParamsForPort

protected Map<String,Object> getParamsForPort(int port)

getServiceId

protected String getServiceId(Packet packet)

getServiceId

protected String getServiceId(tigase.xmpp.JID jid)

getUniqueId

protected String getUniqueId(IO serv)

getXMPPIOService

protected IO getXMPPIOService(String serviceId)

getXMPPIOService

protected IO getXMPPIOService(Packet p)

isHighThroughput

protected boolean isHighThroughput()

writePacketToSocket

protected boolean writePacketToSocket(Packet p)
Parameters:
p -
Returns:

writePacketToSocket

protected boolean writePacketToSocket(Packet p,
                                      String serviceId)

writeRawData

protected void writeRawData(IO ios,
                            String data)


Copyright © 2001-2006 Tigase Developers Team. All rights Reserved.