tigase.server.xmppserver
Class S2SConnectionManager

java.lang.Object
  extended by tigase.server.BasicComponent
      extended by tigase.server.AbstractMessageReceiver
          extended by tigase.server.ConnectionManager<S2SIOService>
              extended by tigase.server.xmppserver.S2SConnectionManager
All Implemented Interfaces:
Configurable, XMPPService, IOServiceListener<S2SIOService>, MessageReceiver, ServerComponent, S2SConnectionHandlerIfc<S2SIOService>, StatisticsContainer, VHostListener, XMPPIOServiceListener<S2SIOService>
Direct Known Subclasses:
S2SConnectionClustered

public class S2SConnectionManager
extends ConnectionManager<S2SIOService>
implements S2SConnectionHandlerIfc<S2SIOService>

Created: Jun 14, 2010 11:59:38 AM

Version:
$Rev: 2996 $
Author:
Artur Hefczyc

Field Summary
static String CID_CONNECTIONS_BIND
           
protected static String DB_RESULT_EL_NAME
           
protected static String DB_VERIFY_EL_NAME
           
static String MAX_CONNECTION_INACTIVITY_TIME_PROP_KEY
          Field description
static long MAX_CONNECTION_INACTIVITY_TIME_PROP_VAL
          Field description
static String MAX_INCOMING_CONNECTIONS_PROP_KEY
          Field description
static int MAX_INCOMING_CONNECTIONS_PROP_VAL
          Field description
static String MAX_OUT_PER_IP_CONNECTIONS_PROP_KEY
          Field description
static int MAX_OUT_PER_IP_CONNECTIONS_PROP_VAL
          Field description
static String MAX_OUT_TOTAL_CONNECTIONS_PROP_KEY
          Field description
static int MAX_OUT_TOTAL_CONNECTIONS_PROP_VAL
          Field description
static String MAX_PACKET_WAITING_TIME_PROP_KEY
          Field description
static long MAX_PACKET_WAITING_TIME_PROP_VAL
          Field description
static String S2S_CONNECTION_SELECTOR_PROP_KEY
          Field description
static String S2S_CONNECTION_SELECTOR_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_PROP_KEY, TLS_REQUIRED_PROP_KEY, TLS_REQUIRED_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, maxInQueueSize, maxOutQueueSize, MINUTE, OUTGOING_FILTERS_PROP_KEY, OUTGOING_FILTERS_PROP_VAL, 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, 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, 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
S2SConnectionManager()
           
 
Method Summary
 boolean addOutPacket(Packet packet)
          Method description
 void addTimerTask(TimerTask task, long delay, TimeUnit unit)
          Method description
 CIDConnections getCIDConnections(CID cid, boolean createNew)
          Method description
 Map<String,Object> getDefaults(Map<String,Object> params)
          Method description
protected  int[] getDefPlainPorts()
           
 String getDiscoCategoryType()
          Method description
 String getDiscoDescription()
          Method description
 String getLocalDBKey(CID connectionCid, CID keyCid, String key, String key_sessionId, String asking_sessionId)
           
protected  long getMaxInactiveTime()
           
 void getStatistics(StatisticsList list)
          Method description
 List<tigase.xml.Element> getStreamFeatures(S2SIOService serv)
          Method description
protected  S2SIOService getXMPPIOServiceInstance()
           
 boolean handlesNonLocalDomains()
          Method description
 int hashCodeForPacket(Packet packet)
          Method description
 void initBindings(Bindings binds)
          Method description
 void initNewConnection(Map<String,Object> port_props)
          Method description
protected  boolean isHighThroughput()
           
 void processPacket(Packet packet)
          Method description
 Queue<Packet> processSocketData(S2SIOService serv)
          Method description
 void reconnectionFailed(Map<String,Object> port_props)
          Method description
 boolean sendVerifyResult(String elem_name, CID connCid, CID keyCid, Boolean valid, String key_sessionId, String serv_sessionId, String cdata, boolean handshakingOnly)
          Method description
 void serviceStarted(S2SIOService serv)
          Method description
 boolean serviceStopped(S2SIOService serv)
          Method description
 void setProperties(Map<String,Object> props)
          Method description
 void tlsHandshakeCompleted(S2SIOService serv)
          Method description
 void writeRawData(S2SIOService ios, String data)
          Method description
 void xmppStreamClosed(S2SIOService serv)
          Method description
 String xmppStreamOpened(S2SIOService serv, Map<String,String> attribs)
          Method description
 
Methods inherited from class tigase.server.ConnectionManager
addWaitingTask, countIOServices, doForAllServices, everyMinute, getDefSSLPorts, getParamsForPort, getServiceId, getServiceId, getUniqueId, getXMPPIOService, getXMPPIOService, initializationCompleted, packetsReady, processingInThreads, processingOutThreads, release, setName, writePacketsToSocket, writePacketToSocket, writePacketToSocket, writePacketToSocket
 
Methods inherited from class tigase.server.AbstractMessageReceiver
addOutPacketNB, addOutPackets, addOutPacketWithTimeout, addPacket, addPacketNB, addPackets, addRegexRouting, addTimerTask, clearRegexRoutings, everyHour, everySecond, getMaxQueueSize, getRegexRoutings, isInRegexRoutings, newPacketId, processingThreads, processOutPacket, processPacket, removeRegexRouting, setMaxQueueSize, setParent, start, stop
 
Methods inherited from class tigase.server.BasicComponent
addComponentDomain, canCallCommand, checkCommandAcl, getComponentId, getDefHostName, getDiscoCategory, getDiscoFeatures, getDiscoFeatures, getDiscoInfo, getDiscoInfo, getDiscoItems, getDiscoItems, getName, getScriptItems, getVHostItem, handlesLocalDomains, handlesNameSubdomains, 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.S2SConnectionHandlerIfc
getDefHostName, writePacketsToSocket, writePacketToSocket
 
Methods inherited from interface tigase.server.MessageReceiver
getDefHostName
 
Methods inherited from interface tigase.server.ServerComponent
getComponentId, getName
 

Field Detail

DB_RESULT_EL_NAME

protected static final String DB_RESULT_EL_NAME
See Also:
Constant Field Values

DB_VERIFY_EL_NAME

protected static final String DB_VERIFY_EL_NAME
See Also:
Constant Field Values

MAX_PACKET_WAITING_TIME_PROP_KEY

public static final String MAX_PACKET_WAITING_TIME_PROP_KEY
Field description

See Also:
Constant Field Values

MAX_CONNECTION_INACTIVITY_TIME_PROP_KEY

public static final String MAX_CONNECTION_INACTIVITY_TIME_PROP_KEY
Field description

See Also:
Constant Field Values

MAX_INCOMING_CONNECTIONS_PROP_KEY

public static final String MAX_INCOMING_CONNECTIONS_PROP_KEY
Field description

See Also:
Constant Field Values

MAX_OUT_TOTAL_CONNECTIONS_PROP_KEY

public static final String MAX_OUT_TOTAL_CONNECTIONS_PROP_KEY
Field description

See Also:
Constant Field Values

MAX_OUT_PER_IP_CONNECTIONS_PROP_KEY

public static final String MAX_OUT_PER_IP_CONNECTIONS_PROP_KEY
Field description

See Also:
Constant Field Values

S2S_CONNECTION_SELECTOR_PROP_KEY

public static final String S2S_CONNECTION_SELECTOR_PROP_KEY
Field description

See Also:
Constant Field Values

S2S_CONNECTION_SELECTOR_PROP_VAL

public static final String S2S_CONNECTION_SELECTOR_PROP_VAL
Field description

See Also:
Constant Field Values

MAX_INCOMING_CONNECTIONS_PROP_VAL

public static final int MAX_INCOMING_CONNECTIONS_PROP_VAL
Field description

See Also:
Constant Field Values

MAX_OUT_TOTAL_CONNECTIONS_PROP_VAL

public static final int MAX_OUT_TOTAL_CONNECTIONS_PROP_VAL
Field description

See Also:
Constant Field Values

MAX_OUT_PER_IP_CONNECTIONS_PROP_VAL

public static final int MAX_OUT_PER_IP_CONNECTIONS_PROP_VAL
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

MAX_CONNECTION_INACTIVITY_TIME_PROP_VAL

public static final long MAX_CONNECTION_INACTIVITY_TIME_PROP_VAL
Field description

See Also:
Constant Field Values

CID_CONNECTIONS_BIND

public static final String CID_CONNECTIONS_BIND
See Also:
Constant Field Values
Constructor Detail

S2SConnectionManager

public S2SConnectionManager()
Method Detail

initBindings

public void initBindings(Bindings binds)
Method description

Overrides:
initBindings in class ConnectionManager<S2SIOService>
Parameters:
binds -

addOutPacket

public boolean addOutPacket(Packet packet)
Method description

Specified by:
addOutPacket in interface S2SConnectionHandlerIfc<S2SIOService>
Overrides:
addOutPacket in class AbstractMessageReceiver
Parameters:
packet -
Returns:

addTimerTask

public void addTimerTask(TimerTask task,
                         long delay,
                         TimeUnit unit)
Method description

Specified by:
addTimerTask in interface S2SConnectionHandlerIfc<S2SIOService>
Overrides:
addTimerTask in class AbstractMessageReceiver
Parameters:
task -
delay -
unit -

getCIDConnections

public CIDConnections getCIDConnections(CID cid,
                                        boolean createNew)
                                 throws NotLocalhostException,
                                        LocalhostException
Method description

Specified by:
getCIDConnections in interface S2SConnectionHandlerIfc<S2SIOService>
Parameters:
cid -
createNew -
Returns:
Throws:
LocalhostException
NotLocalhostException

getDefaults

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

Specified by:
getDefaults in interface Configurable
Overrides:
getDefaults in class ConnectionManager<S2SIOService>
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:

getLocalDBKey

public String getLocalDBKey(CID connectionCid,
                            CID keyCid,
                            String key,
                            String key_sessionId,
                            String asking_sessionId)
Specified by:
getLocalDBKey in interface S2SConnectionHandlerIfc<S2SIOService>
Parameters:
connectionCid -
keyCid -
key -
key_sessionId -
asking_sessionId -
Returns:

getStatistics

public void getStatistics(StatisticsList list)
Method description

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

getStreamFeatures

public List<tigase.xml.Element> getStreamFeatures(S2SIOService serv)
Method description

Specified by:
getStreamFeatures in interface S2SConnectionHandlerIfc<S2SIOService>
Parameters:
serv -
Returns:

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<S2SIOService>
Parameters:
packet -
Returns:

initNewConnection

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

Specified by:
initNewConnection in interface S2SConnectionHandlerIfc<S2SIOService>
Parameters:
port_props -

processPacket

public void processPacket(Packet packet)
Method description

Overrides:
processPacket in class ConnectionManager<S2SIOService>
Parameters:
packet -

processSocketData

public Queue<Packet> processSocketData(S2SIOService serv)
Method description

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

reconnectionFailed

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

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

sendVerifyResult

public boolean sendVerifyResult(String elem_name,
                                CID connCid,
                                CID keyCid,
                                Boolean valid,
                                String key_sessionId,
                                String serv_sessionId,
                                String cdata,
                                boolean handshakingOnly)
Method description

Specified by:
sendVerifyResult in interface S2SConnectionHandlerIfc<S2SIOService>
Parameters:
elem_name -
connCid -
keyCid -
valid -
key_sessionId -
serv_sessionId -
cdata -
handshakingOnly -
Returns:

serviceStarted

public void serviceStarted(S2SIOService serv)
Method description

Overrides:
serviceStarted in class ConnectionManager<S2SIOService>
Parameters:
serv -

serviceStopped

public boolean serviceStopped(S2SIOService serv)
Method description

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

setProperties

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

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

tlsHandshakeCompleted

public void tlsHandshakeCompleted(S2SIOService serv)
Method description

Specified by:
tlsHandshakeCompleted in interface IOServiceListener<S2SIOService>
Parameters:
serv -

writeRawData

public void writeRawData(S2SIOService ios,
                         String data)
Method description

Specified by:
writeRawData in interface S2SConnectionHandlerIfc<S2SIOService>
Overrides:
writeRawData in class ConnectionManager<S2SIOService>
Parameters:
ios -
data -

xmppStreamClosed

public void xmppStreamClosed(S2SIOService serv)
Method description

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

xmppStreamOpened

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

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

getDefPlainPorts

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

getMaxInactiveTime

protected long getMaxInactiveTime()
Specified by:
getMaxInactiveTime in class ConnectionManager<S2SIOService>

getXMPPIOServiceInstance

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

isHighThroughput

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


Copyright © 2012 Tigase. All Rights Reserved.