public class BoshConnectionManager extends ClientConnectionManager implements BoshSessionTaskHandler
Modifier and Type | Class and Description |
---|---|
protected static class |
BoshConnectionManager.BOSH_OPERATION_TYPE |
ConnectionManager.LIMIT_ACTION, ConnectionManager.WATCHDOG_PING_TYPE
Modifier and Type | Field and Description |
---|---|
protected Map<UUID,BoshSession> |
sessions
Field description
|
routings, see_other_host_strategy
connectionDelay, elements_number_limit, ELEMENTS_NUMBER_LIMIT_PROP_KEY, ELEMENTS_NUMBER_LIMIT_PROP_VAL, 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_LIMIT_HT_PROP_VAL, NET_BUFFER_LIMIT_PROP_KEY, NET_BUFFER_LIMIT_ST_PROP_VAL, NET_BUFFER_PROP_KEY, NET_BUFFER_ST_PROP_KEY, NET_BUFFER_ST_PROP_VAL, pingElement, 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, WATCHDOG_DELAY, WATCHDOG_PING_TYPE_KEY, WATCHDOG_TIMEOUT, watchdogDelay, watchdogPingType, watchdogTimeout, WHITE_CHAR_ACK_PROP_KEY, WHITE_CHAR_ACK_PROP_VAL, XMPP_ACK_PROP_KEY, XMPP_ACK_PROP_VAL
HOUR, INCOMING_FILTERS_PROP_KEY, INCOMING_FILTERS_PROP_VAL, MAX_QUEUE_SIZE_PROP_KEY, MAX_QUEUE_SIZE_PROP_VAL, maxInQueueSize, maxOutQueueSize, maxQueueSize, MINUTE, OUTGOING_FILTERS_PROP_KEY, OUTGOING_FILTERS_PROP_VAL, SCHEDULER_THREADS_PROP_KEY, SECOND
admins, ALL_PROP_KEY, COMMAND_PROP_NODE, scriptCommands, SCRIPTS_DIR_PROP_DEF, SCRIPTS_DIR_PROP_KEY, vHostManager
ADMINS_PROP_KEY, AMP_CLASS_NAME, AMP_CLUST_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, VHOST_MAN_CLUST_CLASS_NAME, WS2S_CLASS_NAME, WS2S_CLUST_CLASS_NAME, XML_REPO_CLASS_PROP_VAL, XML_REPO_URL_PROP_VAL, XMPP_STANZA_ACK
CMD_FEATURES, DEF_FEATURES, INFO_XMLNS, ITEMS_XMLNS
Constructor and Description |
---|
BoshConnectionManager() |
Modifier and Type | Method and Description |
---|---|
protected void |
addOutPackets(Queue<Packet> out_results,
BoshSession bs)
Method description
|
boolean |
addOutStreamClosed(Packet packet,
BoshSession bs)
Method description
|
boolean |
addOutStreamOpen(Packet packet,
BoshSession bs) |
void |
cancelSendQueueTask(BoshSendQueueTask tt)
Method description
|
void |
cancelTask(BoshTask tt)
Method description
|
protected tigase.xmpp.JID |
changeDataReceiver(Packet packet,
tigase.xmpp.JID newAddress,
String command_sessionId,
XMPPIOService<Object> serv)
Method description
|
protected BoshSession |
getBoshSession(tigase.xmpp.JID jid)
Method description
|
Map<String,Object> |
getDefaults(Map<String,Object> params)
Method description
|
protected int[] |
getDefPlainPorts()
Method description
|
protected int[] |
getDefSSLPorts()
Method description
|
String |
getDiscoCategoryType()
Method description
|
String |
getDiscoDescription()
Method description
|
tigase.xmpp.JID |
getJidForBoshSession(BoshSession bs)
Returns full jid of passed BoshSession instance
|
protected long |
getMaxInactiveTime()
Method
getMaxInactiveTime returns max keep-alive time for
inactive connection. |
tigase.xmpp.BareJID |
getSeeOtherHostForJID(tigase.xmpp.BareJID fromJID,
SeeOtherHostIfc.Phase ph)
Method description
|
protected static Logger |
getSIDLogger() |
void |
getStatistics(StatisticsList list)
Method description
|
protected BoshIOService |
getXMPPIOServiceInstance()
Method description
|
void |
initBindings(Bindings binds)
Initialize a mapping of key/value pairs which can be used in scripts
loaded by the server
|
protected ReceiverTimeoutHandler |
newStartedHandler()
Method description
|
protected Map<String,String> |
preBindSession(Map<String,String> attr) |
protected void |
processCommand(Packet packet)
Method description
|
void |
processPacket(Packet packet)
Method description
|
Queue<Packet> |
processSocketData(XMPPIOService<Object> srv)
Method description
|
BoshSendQueueTask |
scheduleSendQueueTask(BoshSession bs,
long delay)
Method description
|
BoshTask |
scheduleTask(BoshSession bs,
long delay)
Method description
|
void |
serviceStarted(XMPPIOService<Object> service)
Method description
|
boolean |
serviceStopped(XMPPIOService<Object> xmppService)
Method description
|
void |
setProperties(Map<String,Object> props)
Method description
|
protected void |
setupWatchdogThread() |
protected boolean |
writePacketToSocket(Packet packet)
Method description
|
void |
writeRawData(BoshIOService ios,
String data)
Method description
|
void |
xmppStreamClosed(BoshIOService serv)
Method description
|
String |
xmppStreamOpened(BoshIOService serv,
Map<String,String> attribs)
Method description
|
getMaxQueueSize, getSeeOtherHostInstance, hashCodeForPacket, isAllowed, isTlsWantClientAuthEnabled, newStoppedHandler, prepareSeeOtherHost, prepareStreamClose, prepareStreamError, prepareStreamError, prepareStreamOpen, preprocessStreamFeatures, processUndeliveredPacket, reconnectionFailed, start, stop, tlsHandshakeCompleted, xmppStreamClosed, xmppStreamOpened
addWaitingTask, checkHighThroughputProperty, checkTrafficLimits, countIOServices, doForAllServices, everyMinute, getDefTrafficThrottling, getParamsForPort, getServiceId, getServiceId, getUniqueId, getXMPPIOService, getXMPPIOService, initializationCompleted, isHighThroughput, packetsReady, processingInThreads, processingOutThreads, release, setName, updateConnectionDetails, writePacketsToSocket, writePacketToSocket, writePacketToSocket, writeRawData
addOutPacket, addOutPacketNB, addOutPackets, addOutPacketWithTimeout, addPacket, addPacketNB, addPackets, addRegexRouting, addTimerTask, addTimerTask, addTimerTask, addTimerTask, clearRegexRoutings, everyHour, everySecond, getRegexRoutings, isInRegexRoutings, newPacketId, processingThreads, processOutPacket, processPacket, removeRegexRouting, schedulerThreads, setMaxQueueSize, setParent
addComponentDomain, canCallCommand, checkCommandAcl, getComponentId, getComponentInfo, getDefHostName, getDefVHostItem, getDiscoCategory, getDiscoFeatures, getDiscoFeatures, getDiscoInfo, getDiscoInfo, getDiscoItems, getDiscoItems, getName, getScriptCommands, getScriptItems, getServiceEntity, getVHostItem, handlesLocalDomains, handlesNameSubdomains, handlesNonLocalDomains, isAdmin, isInitializationComplete, isLocalDomain, isLocalDomainOrComponent, isNonAdminCommands, isSubdomain, processScriptCommand, removeComponentDomain, removeServiceDiscoveryItem, setVHostManager, updateServiceDiscoveryItem, updateServiceDiscoveryItem, updateServiceDiscoveryItem, updateServiceEntity
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getDefHostName, processUndeliveredPacket
getDefHostName
getComponentId, getComponentInfo, getName, isInitializationComplete
protected final Map<UUID,BoshSession> sessions
public boolean addOutStreamClosed(Packet packet, BoshSession bs)
addOutStreamClosed
in interface BoshSessionTaskHandler
packet
- bs
- boolean
public boolean addOutStreamOpen(Packet packet, BoshSession bs)
addOutStreamOpen
in interface BoshSessionTaskHandler
packet
- bs
- boolean
public void cancelSendQueueTask(BoshSendQueueTask tt)
cancelSendQueueTask
in interface BoshSessionTaskHandler
tt
- public void cancelTask(BoshTask tt)
cancelTask
in interface BoshSessionTaskHandler
tt
- public void processPacket(Packet packet)
processPacket
in class ClientConnectionManager
packet
- protected static Logger getSIDLogger()
protected void setupWatchdogThread()
setupWatchdogThread
in class ConnectionManager<XMPPIOService<Object>>
public Queue<Packet> processSocketData(XMPPIOService<Object> srv)
processSocketData
in class ClientConnectionManager
srv
- Queue
public BoshSendQueueTask scheduleSendQueueTask(BoshSession bs, long delay)
scheduleSendQueueTask
in interface BoshSessionTaskHandler
bs
- delay
- BoshSendQueueTask
public BoshTask scheduleTask(BoshSession bs, long delay)
scheduleTask
in interface BoshSessionTaskHandler
bs
- delay
- BoshTask
public void serviceStarted(XMPPIOService<Object> service)
serviceStarted
in class ClientConnectionManager
service
- public boolean serviceStopped(XMPPIOService<Object> xmppService)
serviceStopped
in interface IOServiceListener<XMPPIOService<Object>>
serviceStopped
in class ClientConnectionManager
xmppService
- public void writeRawData(BoshIOService ios, String data)
writeRawData
in interface BoshSessionTaskHandler
ios
- data
- public void xmppStreamClosed(BoshIOService serv)
serv
- public String xmppStreamOpened(BoshIOService serv, Map<String,String> attribs)
serv
- attribs
- String
public Map<String,Object> getDefaults(Map<String,Object> params)
getDefaults
in interface Configurable
getDefaults
in class ClientConnectionManager
params
- Map
public String getDiscoCategoryType()
getDiscoCategoryType
in class ClientConnectionManager
String
public String getDiscoDescription()
getDiscoDescription
in class ClientConnectionManager
String
public tigase.xmpp.JID getJidForBoshSession(BoshSession bs)
getJidForBoshSession
in interface BoshSessionTaskHandler
bs
- public tigase.xmpp.BareJID getSeeOtherHostForJID(tigase.xmpp.BareJID fromJID, SeeOtherHostIfc.Phase ph)
getSeeOtherHostForJID
in interface BoshSessionTaskHandler
fromJID
- ph
- BareJID
public void getStatistics(StatisticsList list)
getStatistics
in interface StatisticsContainer
getStatistics
in class ConnectionManager<XMPPIOService<Object>>
list
- public void setProperties(Map<String,Object> props) throws ConfigurationException
setProperties
in interface Configurable
setProperties
in class ClientConnectionManager
props
- ConfigurationException
protected void addOutPackets(Queue<Packet> out_results, BoshSession bs)
out_results
- bs
- protected tigase.xmpp.JID changeDataReceiver(Packet packet, tigase.xmpp.JID newAddress, String command_sessionId, XMPPIOService<Object> serv)
changeDataReceiver
in class ClientConnectionManager
packet
- newAddress
- command_sessionId
- serv
- JID
protected ReceiverTimeoutHandler newStartedHandler()
newStartedHandler
in class ClientConnectionManager
ReceiverTimeoutHandler
protected void processCommand(Packet packet)
processCommand
in class ClientConnectionManager
packet
- protected boolean writePacketToSocket(Packet packet)
writePacketToSocket
in class ConnectionManager<XMPPIOService<Object>>
packet
- boolean
protected BoshSession getBoshSession(tigase.xmpp.JID jid)
jid
- BoshSession
protected int[] getDefPlainPorts()
getDefPlainPorts
in class ClientConnectionManager
int[]
protected int[] getDefSSLPorts()
getDefSSLPorts
in class ClientConnectionManager
int[]
protected long getMaxInactiveTime()
getMaxInactiveTime
returns max keep-alive time for
inactive connection. For Bosh it does not make sense to keep the idle
connection longer than 10 minutes.getMaxInactiveTime
in class ClientConnectionManager
long
valuepublic void initBindings(Bindings binds)
BasicComponent
initBindings
in class ConnectionManager<XMPPIOService<Object>>
binds
- A mapping of key/value pairs, all of whose keys are Strings.protected BoshIOService getXMPPIOServiceInstance()
getXMPPIOServiceInstance
in class ClientConnectionManager
BoshIOService
Copyright © 2014 "Tigase, Inc.". All rights reserved.