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>>

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

Nested Class Summary
 
Nested classes/interfaces inherited from class tigase.server.ConnectionManager
ConnectionManager.LIMIT_ACTION
 
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, HT_TRAFFIC_THROTTLING_PROP_KEY, HT_TRAFFIC_THROTTLING_PROP_VAL, LAST_MINUTE_BIN_LIMIT_PROP_VAL, LAST_MINUTE_PACKETS_LIMIT_PROP_VAL, MAX_INACTIVITY_TIME, 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, ST_TRAFFIC_THROTTLING_PROP_KEY, ST_TRAFFIC_THROTTLING_PROP_VAL, TLS_PROP_KEY, TLS_REQUIRED_PROP_KEY, TLS_REQUIRED_PROP_VAL, TLS_USE_PROP_KEY, TLS_USE_PROP_VAL, TOTAL_BIN_LIMIT_PROP_VAL, TOTAL_PACKETS_LIMIT_PROP_VAL, TRAFFIC_THROTTLING_PROP_KEY, WHITE_CHAR_ACK_PROP_KEY, WHITE_CHAR_ACK_PROP_VAL, XMPP_ACK_PROP_KEY, XMPP_ACK_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, maxInQueueSize, maxOutQueueSize, MINUTE, OUTGOING_FILTERS_PROP_KEY, OUTGOING_FILTERS_PROP_VAL, SCHEDULER_THREADS_PROP_KEY, SECOND
 
Fields inherited from class tigase.server.BasicComponent
admins, ALL_PROP_KEY, COMMAND_PROP_NODE, scriptCommands, SCRIPTS_DIR_PROP_DEF, SCRIPTS_DIR_PROP_KEY, vHostManager
 
Fields inherited from interface tigase.conf.Configurable
ADMINS_PROP_KEY, AMP_CLASS_NAME, AUTH_DOMAIN_POOL_CLASS, AUTH_REPO_DOMAINS_PROP_KEY, AUTH_REPO_PARAMS_NODE, AUTH_REPO_POOL_CLASS, AUTH_REPO_URL_PROP_KEY, BOSH_CLUST_COMP_CLASS_NAME, 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_AMP_NAME, 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_MONITOR_NAME, DEF_S2S_NAME, DEF_SM_NAME, DEF_SRECV_NAME, DEF_SSEND_NAME, DEF_STATS_NAME, DEF_VHOST_MAN_NAME, DEF_WS2S_NAME, DERBY_REPO_CLASS_PROP_VAL, DERBY_REPO_URL_PROP_VAL, DRUPAL_REPO_URL_PROP_VAL, DRUPALWP_REPO_CLASS_PROP_VAL, DUMMY_REPO_CLASS_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_USER_DB_URI_PROP_KEY, GEN_VIRT_HOSTS, HOSTNAMES_PROP_KEY, LIBRESOURCE_REPO_CLASS_PROP_VAL, LIBRESOURCE_REPO_URL_PROP_VAL, MONITOR_CLASS_NAME, MONITOR_CLUST_CLASS_NAME, 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_PROP_KEY, SM_CLUST_COMP_CLASS_NAME, SM_COMP_CLASS_NAME, SRECV_COMP_CLASS_NAME, SSEND_COMP_CLASS_NAME, STANZA_WHITE_CHAR_ACK, STANZA_XMPP_ACK, 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_DOMAIN_POOL_CLASS, USER_REPO_DOMAINS_PROP_KEY, USER_REPO_PARAMS_NODE, USER_REPO_POOL_CLASS, USER_REPO_POOL_SIZE, USER_REPO_POOL_SIZE_PROP_KEY, USER_REPO_URL_PROP_KEY, VHOST_MAN_CLASS_NAME, WS2S_CLASS_NAME, WS2S_CLUST_CLASS_NAME, XML_REPO_CLASS_PROP_VAL, XML_REPO_URL_PROP_VAL, XMPP_STANZA_ACK
 
Fields inherited from interface tigase.disco.XMPPService
CMD_FEATURES, DEF_FEATURES, INFO_XMLNS, ITEMS_XMLNS
 
Constructor Summary
ServerConnectionManager()
           
 
Method Summary
 boolean addOutPacket(Packet packet)
          Method description
 Map<String,Object> getDefaults(Map<String,Object> params)
          Method description
protected  int[] getDefPlainPorts()
          Method description
 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()
          Method description
 boolean handlesNonLocalDomains()
          Method description
 int hashCodeForPacket(Packet packet)
          Method description
protected  boolean isHighThroughput()
          Method description
 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
 void reconnectionFailed(Map<String,Object> port_props)
          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 tlsHandshakeCompleted(XMPPIOService<Object> service)
          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, checkHighThroughputProperty, checkTrafficLimits, countIOServices, doForAllServices, everyMinute, getDefSSLPorts, getDefTrafficThrottling, getParamsForPort, getServiceId, getServiceId, getUniqueId, getXMPPIOService, getXMPPIOService, initBindings, initializationCompleted, isTlsWantClientAuthEnabled, packetsReady, processingInThreads, processingOutThreads, release, setName, stop, updateConnectionDetails, writePacketsToSocket, writePacketToSocket, writePacketToSocket, writePacketToSocket, writeRawData
 
Methods inherited from class tigase.server.AbstractMessageReceiver
addOutPacketNB, addOutPackets, addOutPacketWithTimeout, addPacket, addPacketNB, addPackets, addRegexRouting, addTimerTask, addTimerTask, addTimerTask, addTimerTask, clearRegexRoutings, everyHour, everySecond, getMaxQueueSize, getRegexRoutings, isInRegexRoutings, newPacketId, processingThreads, processOutPacket, processPacket, removeRegexRouting, schedulerThreads, setMaxQueueSize, setParent, start
 
Methods inherited from class tigase.server.BasicComponent
addComponentDomain, canCallCommand, checkCommandAcl, getComponentId, getDefHostName, getDefVHostItem, getDiscoCategory, getDiscoFeatures, getDiscoFeatures, getDiscoInfo, getDiscoInfo, getDiscoItems, getDiscoItems, getName, getScriptCommands, getScriptItems, getServiceEntity, getVHostItem, handlesLocalDomains, handlesNameSubdomains, isAdmin, isInitializationComplete, isLocalDomain, isLocalDomainOrComponent, isNonAdminCommands, isSubdomain, 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, isInitializationComplete
 

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

addOutPacket

public boolean addOutPacket(Packet packet)
Method description

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

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 ConnectionManager<XMPPIOService<Object>>
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:

reconnectionFailed

public void reconnectionFailed(Map<String,Object> port_props)
Method description

Specified by:
reconnectionFailed in class ConnectionManager<XMPPIOService<Object>>
Parameters:
port_props -

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 -

tlsHandshakeCompleted

public void tlsHandshakeCompleted(XMPPIOService<Object> service)
Method description

Specified by:
tlsHandshakeCompleted in interface IOServiceListener<XMPPIOService<Object>>
Parameters:
service -

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()
Description copied from class: ConnectionManager
Method description

Overrides:
getDefPlainPorts in class ConnectionManager<XMPPIOService<Object>>
Returns:

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()
Description copied from class: ConnectionManager
Method description

Specified by:
getXMPPIOServiceInstance in class ConnectionManager<XMPPIOService<Object>>
Returns:

isHighThroughput

protected boolean isHighThroughput()
Description copied from class: ConnectionManager
Method description

Overrides:
isHighThroughput in class ConnectionManager<XMPPIOService<Object>>
Returns:

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 © 2013 Tigase. All rights reserved.