tigase.server.bosh
Class BoshConnectionManager

java.lang.Object
  extended by tigase.server.AbstractMessageReceiver
      extended by tigase.server.ConnectionManager<XMPPIOService>
          extended by tigase.server.xmppclient.ClientConnectionManager
              extended by tigase.server.bosh.BoshConnectionManager
All Implemented Interfaces:
Configurable, IOServiceListener, BoshSessionTaskHandler, MessageReceiver, ServerComponent, StatisticsContainer, VHostListener, XMPPIOServiceListener

public class BoshConnectionManager
extends ClientConnectionManager
implements BoshSessionTaskHandler

Describe class BoshConnectionManager here. Created: Sat Jun 2 12:24:29 2007

Version:
$Rev: 1587 $
Author:
Artur Hefczyc

Field Summary
 
Fields inherited from class tigase.server.xmppclient.ClientConnectionManager
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_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, MAX_QUEUE_SIZE_PROP_KEY, MAX_QUEUE_SIZE_PROP_VAL, maxQueueSize, MINUTE, SECOND, 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, COMPONENT_ID_PROP_KEY, DEF_BOSH_NAME, DEF_C2S_NAME, DEF_CL_COMP_NAME, DEF_CLUST_CONTR_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_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, NULL_ROUTING, 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, 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
 
Constructor Summary
BoshConnectionManager()
           
 
Method Summary
 boolean addOutStreamClosed(Packet packet, BoshSession bs)
           
 boolean addOutStreamOpen(Packet packet, BoshSession bs)
           
 void cancelTask(java.util.TimerTask tt)
           
protected  java.lang.String changeDataReceiver(Packet packet, java.lang.String newAddress, java.lang.String command_sessionId, XMPPIOService serv)
           
protected  BoshSession getBoshSession(java.lang.String jid)
           
 java.util.Map<java.lang.String,java.lang.Object> getDefaults(java.util.Map<java.lang.String,java.lang.Object> params)
          Returns defualt configuration settings for this object.
protected  int[] getDefPlainPorts()
           
protected  int[] getDefSSLPorts()
           
protected  long getMaxInactiveTime()
          Method getMaxInactiveTime returns max keep-alive time for inactive connection.
protected  BoshIOService getXMPPIOServiceInstance()
           
protected  ReceiverEventHandler newStartedHandler()
           
protected  void processCommand(Packet packet)
           
 java.util.Queue<Packet> processSocketData(XMPPIOService srv)
           
 java.util.TimerTask scheduleTask(BoshSession bs, long delay)
           
 void serviceStarted(BoshIOService service)
           
 void serviceStopped(BoshIOService service)
           
 void setProperties(java.util.Map<java.lang.String,java.lang.Object> props)
          Sets all configuration properties for object.
protected  boolean writePacketToSocket(Packet packet)
           
 void writeRawData(BoshIOService ios, java.lang.String data)
           
 void xmppStreamClosed(BoshIOService serv)
           
 java.lang.String xmppStreamOpened(BoshIOService serv, java.util.Map<java.lang.String,java.lang.String> attribs)
           
 
Methods inherited from class tigase.server.xmppclient.ClientConnectionManager
getMaxQueueSize, newStoppedHandler, processingThreads, processPacket, serviceStopped, xmppStreamClosed, xmppStreamOpened
 
Methods inherited from class tigase.server.ConnectionManager
addWaitingTask, countIOServices, doForAllServices, getParamsForPort, getServiceId, getServiceId, getStatistics, getUniqueId, getXMPPIOService, getXMPPIOService, initializationCompleted, isHighThroughput, packetsReady, packetsReady, release, serviceStarted, serviceStopped, setName, start, streamClosed, streamOpened, writePacketsToSocket, writePacketToSocket, writePacketToSocket, writeRawData
 
Methods inherited from class tigase.server.AbstractMessageReceiver
addOutPacket, addOutPacketNB, addOutPackets, addOutPacketWithTimeout, addPacket, addPacketNB, addPackets, addRegexRouting, clearRegexRoutings, everyMinute, everySecond, getComponentId, getDefHostName, getName, getRegexRoutings, getVHostItem, handlesLocalDomains, handlesNameSubdomains, handlesNonLocalDomains, isInRegexRoutings, isLocalDomain, isLocalDomainOrComponent, processPacket, removeRegexRouting, setMaxQueueSize, setParent, setVHostManager, stop
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BoshConnectionManager

public BoshConnectionManager()
Method Detail

getBoshSession

protected BoshSession getBoshSession(java.lang.String jid)

writePacketToSocket

protected boolean writePacketToSocket(Packet packet)
Overrides:
writePacketToSocket in class ConnectionManager<XMPPIOService>
Returns:

processCommand

protected void processCommand(Packet packet)
Overrides:
processCommand in class ClientConnectionManager

changeDataReceiver

protected java.lang.String changeDataReceiver(Packet packet,
                                              java.lang.String newAddress,
                                              java.lang.String command_sessionId,
                                              XMPPIOService serv)
Overrides:
changeDataReceiver in class ClientConnectionManager

processSocketData

public java.util.Queue<Packet> processSocketData(XMPPIOService srv)
Overrides:
processSocketData in class ClientConnectionManager

getDefaults

public java.util.Map<java.lang.String,java.lang.Object> getDefaults(java.util.Map<java.lang.String,java.lang.Object> params)
Description copied from class: AbstractMessageReceiver
Returns defualt configuration settings for this object.

Specified by:
getDefaults in interface Configurable
Overrides:
getDefaults in class ClientConnectionManager
Returns:

setProperties

public void setProperties(java.util.Map<java.lang.String,java.lang.Object> props)
Description copied from class: AbstractMessageReceiver
Sets all configuration properties for object.

Specified by:
setProperties in interface Configurable
Overrides:
setProperties in class ClientConnectionManager

getDefPlainPorts

protected int[] getDefPlainPorts()
Overrides:
getDefPlainPorts in class ClientConnectionManager

getDefSSLPorts

protected int[] getDefSSLPorts()
Overrides:
getDefSSLPorts in class ClientConnectionManager

serviceStopped

public void serviceStopped(BoshIOService service)

serviceStarted

public void serviceStarted(BoshIOService service)

getMaxInactiveTime

protected long getMaxInactiveTime()
Method getMaxInactiveTime returns max keep-alive time for inactive connection. we shoulnd not really close external component connection at all, so let's say something like: 1000 days...

Overrides:
getMaxInactiveTime in class ClientConnectionManager
Returns:
a long value

xmppStreamClosed

public void xmppStreamClosed(BoshIOService serv)

xmppStreamOpened

public java.lang.String xmppStreamOpened(BoshIOService serv,
                                         java.util.Map<java.lang.String,java.lang.String> attribs)

getXMPPIOServiceInstance

protected BoshIOService getXMPPIOServiceInstance()
Overrides:
getXMPPIOServiceInstance in class ClientConnectionManager

writeRawData

public void writeRawData(BoshIOService ios,
                         java.lang.String data)
Specified by:
writeRawData in interface BoshSessionTaskHandler

scheduleTask

public java.util.TimerTask scheduleTask(BoshSession bs,
                                        long delay)
Specified by:
scheduleTask in interface BoshSessionTaskHandler

cancelTask

public void cancelTask(java.util.TimerTask tt)
Specified by:
cancelTask in interface BoshSessionTaskHandler

addOutStreamOpen

public boolean addOutStreamOpen(Packet packet,
                                BoshSession bs)
Specified by:
addOutStreamOpen in interface BoshSessionTaskHandler
Parameters:
packet -
bs -
Returns:

addOutStreamClosed

public boolean addOutStreamClosed(Packet packet,
                                  BoshSession bs)
Specified by:
addOutStreamClosed in interface BoshSessionTaskHandler

newStartedHandler

protected ReceiverEventHandler newStartedHandler()
Overrides:
newStartedHandler in class ClientConnectionManager


Copyright © 2009 Tigase. All Rights Reserved.