tigase.server.xmppserver
Class ServerConnectionManager

java.lang.Object
  extended by tigase.server.BasicComponent
      extended by tigase.server.AbstractMessageReceiver
          extended by tigase.server.ConnectionManager<XMPPIOService<Object>>
              extended by tigase.server.xmppserver.ServerConnectionManager
All Implemented Interfaces:
Configurable, XMPPService, IOServiceListener<XMPPIOService<Object>>, MessageReceiver, ServerComponent, ConnectionHandlerIfc<XMPPIOService<Object>>, StatisticsContainer, VHostListener, XMPPIOServiceListener<XMPPIOService<Object>>
Direct Known Subclasses:
ServerConnectionClustered

public class ServerConnectionManager
extends ConnectionManager<XMPPIOService<Object>>
implements ConnectionHandlerIfc<XMPPIOService<Object>>

Class ServerConnectionManager Created: Tue Nov 22 07:07:11 2005

Version:
$Rev$
Author:
Artur Hefczyc

Field Summary
static String MAX_PACKET_WAITING_TIME_PROP_KEY
          Field description
static long MAX_PACKET_WAITING_TIME_PROP_VAL
          Field description
 
Fields inherited from class tigase.server.ConnectionManager
connectionDelay, MAX_RECONNECTS_PROP_KEY, net_buffer, NET_BUFFER_HT_PROP_KEY, NET_BUFFER_HT_PROP_VAL, NET_BUFFER_PROP_KEY, NET_BUFFER_ST_PROP_KEY, NET_BUFFER_ST_PROP_VAL, PORT_CLASS_PROP_KEY, PORT_IFC_PROP_KEY, PORT_IFC_PROP_VAL, PORT_KEY, PORT_LOCAL_HOST_PROP_KEY, PORT_REMOTE_HOST_PROP_KEY, PORT_REMOTE_HOST_PROP_VAL, PORT_SOCKET_PROP_KEY, PORT_TYPE_PROP_KEY, PORTS_PROP_KEY, PROP_KEY, TLS_ALLOW_INVALID_CERTS_PROP_KEY, TLS_ALLOW_INVALID_CERTS_PROP_VAL, TLS_ALLOW_SELF_SIGNED_CERTS_PROP_KEY, TLS_ALLOW_SELF_SIGNED_CERTS_PROP_VAL, TLS_CONTAINER_CLASS_PROP_KEY, TLS_CONTAINER_CLASS_PROP_VAL, TLS_DEF_CERT_PROP_KEY, TLS_DEF_CERT_PROP_VAL, TLS_KEYS_STORE_PASSWD_PROP_KEY, TLS_KEYS_STORE_PASSWD_PROP_VAL, TLS_KEYS_STORE_PROP_KEY, TLS_KEYS_STORE_PROP_VAL, TLS_PROP_KEY, TLS_REQUIRED_PROP_KEY, TLS_REQUIRED_PROP_VAL, TLS_SERVER_CERTS_DIR_PROP_KEY, TLS_SERVER_CERTS_DIR_PROP_VAL, TLS_TRUSTED_CERTS_DIR_PROP_KEY, TLS_TRUSTED_CERTS_DIR_PROP_VAL, TLS_TRUSTS_STORE_PASSWD_PROP_KEY, TLS_TRUSTS_STORE_PASSWD_PROP_VAL, TLS_TRUSTS_STORE_PROP_KEY, TLS_TRUSTS_STORE_PROP_VAL, TLS_USE_PROP_KEY, 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
ServerConnectionManager()
           
 
Method Summary
 Map<String,Object> getDefaults(Map<String,Object> params)
          Method description
protected  int[] getDefPlainPorts()
           
 String getDiscoCategoryType()
          Method description
 String getDiscoDescription()
          Method description
protected  String getLocalDBKey(CID cid, String key, String forkey_sessionId, String asking_sessionId)
           
protected  long getMaxInactiveTime()
          Method getMaxInactiveTime returns max keep-alive time for inactive connection.
protected  ServerConnections getServerConnections(CID cid)
           
 void getStatistics(StatisticsList list)
          Method description
protected  XMPPIOService<Object> getXMPPIOServiceInstance()
           
 boolean handlesNonLocalDomains()
          Method description
 int hashCodeForPacket(Packet packet)
          Method description
protected  boolean isHighThroughput()
           
 boolean isIncomingValid(String session_id)
          Method description
 void processDialback(Packet packet, XMPPIOService<Object> serv)
          Method description
 void processPacket(Packet packet)
          Method description
 Queue<Packet> processSocketData(XMPPIOService<Object> serv)
          Method description
protected  ServerConnections removeServerConnections(CID cid)
           
 boolean sendToIncoming(String session_id, Packet packet)
          Method description
protected  void sendVerifyResult(String from, String to, String forkey_sessionId, boolean valid, ServerConnections serv_conns, String asking_sessionId)
           
 void serviceStarted(XMPPIOService<Object> serv)
          Method description
 boolean serviceStopped(XMPPIOService<Object> serv)
          Method description
 void setProperties(Map<String,Object> props)
          Method description
 void validateIncoming(String session_id, boolean valid)
          Method description
 void xmppStreamClosed(XMPPIOService<Object> serv)
          Method description
 String xmppStreamOpened(XMPPIOService<Object> serv, Map<String,String> attribs)
          Method description
 
Methods inherited from class tigase.server.ConnectionManager
addWaitingTask, countIOServices, doForAllServices, getDefSSLPorts, getParamsForPort, getServiceId, getServiceId, getUniqueId, getXMPPIOService, getXMPPIOService, initializationCompleted, packetsReady, release, setName, start, writePacketsToSocket, writePacketToSocket, writePacketToSocket, writePacketToSocket, writeRawData
 
Methods inherited from class tigase.server.AbstractMessageReceiver
addOutPacket, addOutPacketNB, addOutPackets, addOutPacketWithTimeout, addPacket, addPacketNB, addPackets, addRegexRouting, addTimerTask, addTimerTask, clearRegexRoutings, everyHour, everyMinute, everySecond, getMaxQueueSize, getRegexRoutings, isInRegexRoutings, newPacketId, processingThreads, processPacket, removeRegexRouting, setMaxQueueSize, setParent, stop
 
Methods inherited from class tigase.server.BasicComponent
addComponentDomain, getComponentId, getDefHostName, getDiscoFeatures, getDiscoFeatures, getDiscoInfo, getDiscoInfo, getDiscoItems, getDiscoItems, getName, getVHostItem, handlesLocalDomains, handlesNameSubdomains, 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.server.xmppserver.ConnectionHandlerIfc
writePacketsToSocket, writePacketToSocket
 
Methods inherited from interface tigase.server.MessageReceiver
getDefHostName
 
Methods inherited from interface tigase.server.ServerComponent
getComponentId, getName
 

Field Detail

MAX_PACKET_WAITING_TIME_PROP_KEY

public static final String MAX_PACKET_WAITING_TIME_PROP_KEY
Field description

See Also:
Constant Field Values

MAX_PACKET_WAITING_TIME_PROP_VAL

public static final long MAX_PACKET_WAITING_TIME_PROP_VAL
Field description

See Also:
Constant Field Values
Constructor Detail

ServerConnectionManager

public ServerConnectionManager()
Method Detail

getDefaults

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

Specified by:
getDefaults in interface Configurable
Overrides:
getDefaults in class ConnectionManager<XMPPIOService<Object>>
Parameters:
params -
Returns:

getDiscoCategoryType

public String getDiscoCategoryType()
Method description

Overrides:
getDiscoCategoryType in class BasicComponent
Returns:

getDiscoDescription

public String getDiscoDescription()
Method description

Overrides:
getDiscoDescription in class BasicComponent
Returns:

getStatistics

public void getStatistics(StatisticsList list)
Method description

Specified by:
getStatistics in interface StatisticsContainer
Overrides:
getStatistics in class ConnectionManager<XMPPIOService<Object>>
Parameters:
list -

handlesNonLocalDomains

public boolean handlesNonLocalDomains()
Method description

Specified by:
handlesNonLocalDomains in interface VHostListener
Overrides:
handlesNonLocalDomains in class BasicComponent
Returns:

hashCodeForPacket

public int hashCodeForPacket(Packet packet)
Method description

Overrides:
hashCodeForPacket in class AbstractMessageReceiver
Parameters:
packet -
Returns:

isIncomingValid

public boolean isIncomingValid(String session_id)
Method description

Parameters:
session_id -
Returns:

processDialback

public void processDialback(Packet packet,
                            XMPPIOService<Object> serv)
Method description

Parameters:
packet -
serv -

processPacket

public void processPacket(Packet packet)
Method description

Overrides:
processPacket in class ConnectionManager<XMPPIOService<Object>>
Parameters:
packet -

processSocketData

public Queue<Packet> processSocketData(XMPPIOService<Object> serv)
Method description

Specified by:
processSocketData in class ConnectionManager<XMPPIOService<Object>>
Parameters:
serv -
Returns:

sendToIncoming

public boolean sendToIncoming(String session_id,
                              Packet packet)
Method description

Parameters:
session_id -
packet -
Returns:

serviceStarted

public void serviceStarted(XMPPIOService<Object> serv)
Method description

Overrides:
serviceStarted in class ConnectionManager<XMPPIOService<Object>>
Parameters:
serv -

serviceStopped

public boolean serviceStopped(XMPPIOService<Object> serv)
Method description

Specified by:
serviceStopped in interface IOServiceListener<XMPPIOService<Object>>
Overrides:
serviceStopped in class ConnectionManager<XMPPIOService<Object>>
Parameters:
serv -
Returns:

setProperties

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

Specified by:
setProperties in interface Configurable
Overrides:
setProperties in class ConnectionManager<XMPPIOService<Object>>
Parameters:
props -

validateIncoming

public void validateIncoming(String session_id,
                             boolean valid)
Method description

Parameters:
session_id -
valid -

xmppStreamClosed

public void xmppStreamClosed(XMPPIOService<Object> serv)
Method description

Specified by:
xmppStreamClosed in interface XMPPIOServiceListener<XMPPIOService<Object>>
Parameters:
serv -

xmppStreamOpened

public String xmppStreamOpened(XMPPIOService<Object> serv,
                               Map<String,String> attribs)
Method description

Specified by:
xmppStreamOpened in interface XMPPIOServiceListener<XMPPIOService<Object>>
Parameters:
serv -
attribs -
Returns:

getDefPlainPorts

protected int[] getDefPlainPorts()
Overrides:
getDefPlainPorts in class ConnectionManager<XMPPIOService<Object>>

getLocalDBKey

protected String getLocalDBKey(CID cid,
                               String key,
                               String forkey_sessionId,
                               String asking_sessionId)

getMaxInactiveTime

protected long getMaxInactiveTime()
Method getMaxInactiveTime returns max keep-alive time for inactive connection. Let's assume s2s should send something at least once every 15 minutes....

Specified by:
getMaxInactiveTime in class ConnectionManager<XMPPIOService<Object>>
Returns:
a long value

getServerConnections

protected ServerConnections getServerConnections(CID cid)

getXMPPIOServiceInstance

protected XMPPIOService<Object> getXMPPIOServiceInstance()
Specified by:
getXMPPIOServiceInstance in class ConnectionManager<XMPPIOService<Object>>

isHighThroughput

protected boolean isHighThroughput()
Overrides:
isHighThroughput in class ConnectionManager<XMPPIOService<Object>>

removeServerConnections

protected ServerConnections removeServerConnections(CID cid)

sendVerifyResult

protected void sendVerifyResult(String from,
                                String to,
                                String forkey_sessionId,
                                boolean valid,
                                ServerConnections serv_conns,
                                String asking_sessionId)


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