tigase.server.xmppclient
Class ClientConnectionManager

java.lang.Object
  extended by tigase.server.BasicComponent
      extended by tigase.server.AbstractMessageReceiver
          extended by tigase.server.ConnectionManager<XMPPIOService<Object>>
              extended by tigase.server.xmppclient.ClientConnectionManager
All Implemented Interfaces:
Configurable, XMPPService, IOServiceListener<XMPPIOService<Object>>, MessageReceiver, ServerComponent, StatisticsContainer, VHostListener, XMPPIOServiceListener<XMPPIOService<Object>>
Direct Known Subclasses:
BoshConnectionManager, ClientConnectionClustered

public class ClientConnectionManager
extends ConnectionManager<XMPPIOService<Object>>

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

Version:
$Rev: 2145 $
Author:
Artur Hefczyc

Field Summary
protected  RoutingsContainer routings
           
 
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
ClientConnectionManager()
           
 
Method Summary
protected  tigase.xmpp.JID changeDataReceiver(Packet packet, tigase.xmpp.JID newAddress, String command_sessionId, XMPPIOService<Object> serv)
           
 Map<String,Object> getDefaults(Map<String,Object> params)
          Method description
protected  int[] getDefPlainPorts()
           
protected  int[] getDefSSLPorts()
           
 String getDiscoCategoryType()
          Method description
 String getDiscoDescription()
          Method description
protected  long getMaxInactiveTime()
          Method getMaxInactiveTime returns max keep-alive time for inactive connection.
protected  Integer getMaxQueueSize(int def)
           
protected  XMPPIOService<Object> getXMPPIOServiceInstance()
           
 int hashCodeForPacket(Packet packet)
          This method can be overwritten in extending classes to get a different packets distribution to different threads.
protected  ReceiverTimeoutHandler newStartedHandler()
           
protected  ReceiverTimeoutHandler newStoppedHandler()
           
protected  void processCommand(Packet packet)
           
 int processingThreads()
          Method description
 void processPacket(Packet packet)
          Method description
 Queue<Packet> processSocketData(XMPPIOService<Object> serv)
          Method description
 boolean serviceStopped(XMPPIOService<Object> service)
          Method description
 void setProperties(Map<String,Object> props)
          Method description
 void start()
          Method description
 void stop()
          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, getParamsForPort, getServiceId, getServiceId, getStatistics, getUniqueId, getXMPPIOService, getXMPPIOService, initializationCompleted, isHighThroughput, packetsReady, release, serviceStarted, setName, 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, getRegexRoutings, isInRegexRoutings, newPacketId, processPacket, removeRegexRouting, setMaxQueueSize, setParent
 
Methods inherited from class tigase.server.BasicComponent
addComponentDomain, getComponentId, getDefHostName, 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.server.MessageReceiver
getDefHostName
 
Methods inherited from interface tigase.server.ServerComponent
getComponentId, getName
 

Field Detail

routings

protected RoutingsContainer routings
Constructor Detail

ClientConnectionManager

public ClientConnectionManager()
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:

hashCodeForPacket

public int hashCodeForPacket(Packet packet)
This method can be overwritten in extending classes to get a different packets distribution to different threads. For PubSub, probably better packets distribution to different threads would be based on the sender address rather then destination address.

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

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:

processingThreads

public int processingThreads()
Method description

Overrides:
processingThreads in class AbstractMessageReceiver
Returns:

serviceStopped

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

Specified by:
serviceStopped in interface IOServiceListener<XMPPIOService<Object>>
Overrides:
serviceStopped in class ConnectionManager<XMPPIOService<Object>>
Parameters:
service -
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 -

start

public void start()
Method description

Specified by:
start in interface MessageReceiver
Overrides:
start in class ConnectionManager<XMPPIOService<Object>>

stop

public void stop()
Method description

Overrides:
stop in class AbstractMessageReceiver

xmppStreamClosed

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

Parameters:
serv -

xmppStreamOpened

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

Parameters:
serv -
attribs -
Returns:

changeDataReceiver

protected tigase.xmpp.JID changeDataReceiver(Packet packet,
                                             tigase.xmpp.JID newAddress,
                                             String command_sessionId,
                                             XMPPIOService<Object> serv)

getDefPlainPorts

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

getDefSSLPorts

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

getMaxInactiveTime

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

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

getMaxQueueSize

protected Integer getMaxQueueSize(int def)
Overrides:
getMaxQueueSize in class AbstractMessageReceiver

getXMPPIOServiceInstance

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

newStartedHandler

protected ReceiverTimeoutHandler newStartedHandler()

newStoppedHandler

protected ReceiverTimeoutHandler newStoppedHandler()

processCommand

protected void processCommand(Packet packet)


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