public class ClientConnectionManager extends ConnectionManager<XMPPIOService<Object>>
ConnectionManager.LIMIT_ACTION, ConnectionManager.WATCHDOG_PING_TYPE| Modifier and Type | Field and Description |
|---|---|
protected RoutingsContainer |
routings
Field description
|
protected SeeOtherHostIfc |
see_other_host_strategy
Field description
|
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_VALHOUR, 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, SECONDadmins, ALL_PROP_KEY, COMMAND_PROP_NODE, scriptCommands, SCRIPTS_DIR_PROP_DEF, SCRIPTS_DIR_PROP_KEY, vHostManagerADMINS_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_ACKCMD_FEATURES, DEF_FEATURES, INFO_XMLNS, ITEMS_XMLNS| Constructor and Description |
|---|
ClientConnectionManager() |
| Modifier and Type | Method and Description |
|---|---|
protected tigase.xmpp.JID |
changeDataReceiver(Packet packet,
tigase.xmpp.JID newAddress,
String command_sessionId,
XMPPIOService<Object> serv)
Method description
|
Map<String,Object> |
getDefaults(Map<String,Object> params)
Returns default configuration settings for the component as a
Map with keys as configuration property IDs and values as the
configuration property values. |
protected int[] |
getDefPlainPorts()
Method description
|
protected int[] |
getDefSSLPorts()
Method description
|
String |
getDiscoCategoryType()
Method description
|
String |
getDiscoDescription()
Method description
|
protected long |
getMaxInactiveTime()
Method description
|
protected Integer |
getMaxQueueSize(int def)
Method description
|
SeeOtherHostIfc |
getSeeOtherHostInstance(String see_other_host_class)
Method retrieves object of particular class implementing
SeeOtherHostIfc |
protected XMPPIOService<Object> |
getXMPPIOServiceInstance()
Method description
|
int |
hashCodeForPacket(Packet packet)
This method decides how incoming packets are distributed among processing
threads.
|
protected boolean |
isAllowed(XMPPIOService<Object> serv,
String hostname) |
protected boolean |
isTlsWantClientAuthEnabled()
Method description
|
protected ReceiverTimeoutHandler |
newStartedHandler()
Method description
|
protected ReceiverTimeoutHandler |
newStoppedHandler()
Method description
|
protected String |
prepareSeeOtherHost(XMPPIOService<Object> serv,
String hostname,
tigase.xmpp.BareJID see_other_host) |
protected String |
prepareStreamClose(XMPPIOService<Object> serv) |
protected String |
prepareStreamError(XMPPIOService<Object> serv,
List<tigase.xml.Element> err_el) |
protected String |
prepareStreamError(XMPPIOService<Object> serv,
String errorName,
String hostname) |
protected String |
prepareStreamOpen(XMPPIOService<Object> serv,
String id,
String hostname) |
protected void |
preprocessStreamFeatures(XMPPIOService<Object> serv,
tigase.xml.Element elem_features) |
protected void |
processCommand(Packet packet)
Method description
|
void |
processPacket(Packet packet)
This is the main
Packet processing method. |
Queue<Packet> |
processSocketData(XMPPIOService<Object> serv)
Method description
|
boolean |
processUndeliveredPacket(Packet packet,
String errorMessage)
Processes undelivered packets
|
void |
reconnectionFailed(Map<String,Object> port_props)
Method description
|
void |
serviceStarted(XMPPIOService<Object> service)
Method description
|
boolean |
serviceStopped(XMPPIOService<Object> service) |
void |
setProperties(Map<String,Object> props)
Sets all configuration properties for the object.
|
void |
start() |
void |
stop()
Method description
|
void |
tlsHandshakeCompleted(XMPPIOService<Object> serv) |
void |
xmppStreamClosed(XMPPIOService<Object> serv) |
String |
xmppStreamOpened(XMPPIOService<Object> serv,
Map<String,String> attribs) |
addWaitingTask, checkHighThroughputProperty, checkTrafficLimits, countIOServices, doForAllServices, everyMinute, getDefTrafficThrottling, getParamsForPort, getServiceId, getServiceId, getStatistics, getUniqueId, getXMPPIOService, getXMPPIOService, initBindings, initializationCompleted, isHighThroughput, packetsReady, processingInThreads, processingOutThreads, release, setName, setupWatchdogThread, updateConnectionDetails, writePacketsToSocket, writePacketToSocket, writePacketToSocket, writePacketToSocket, writeRawDataaddOutPacket, addOutPacketNB, addOutPackets, addOutPacketWithTimeout, addPacket, addPacketNB, addPackets, addRegexRouting, addTimerTask, addTimerTask, addTimerTask, addTimerTask, addTimerTask, clearRegexRoutings, everyHour, everySecond, getRegexRoutings, isInRegexRoutings, newPacketId, processingThreads, processOutPacket, processPacket, removeRegexRouting, schedulerThreads, setMaxQueueSize, setParentaddComponentDomain, 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, updateServiceEntityclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetDefHostNamegetComponentId, getComponentInfo, getName, isInitializationCompleteprotected RoutingsContainer routings
protected SeeOtherHostIfc see_other_host_strategy
public int hashCodeForPacket(Packet packet)
AbstractMessageReceiverint threadNo = Math.abs(hashCodeForPacket(packet) % N);For a PubSub component, for example, a better packets distribution would be based on the PubSub channel name, for SM a better distribution is based on the destination address, etc....
hashCodeForPacket in class ConnectionManager<XMPPIOService<Object>>packet - is a Packet which needs to be processed by some
thread.public void processPacket(Packet packet)
AbstractMessageReceiverPacket processing method. It is called
concurrently from many threads so implementing it in thread save manner is
essential. The method is called for each packet addressed to the component.
Packet instance may be processed by different
parts of the server, different components or plugins at the same time.
Therefore this is very important to tread the Packet instance
as unmodifiable object.
addOutPacket(Packet) method.processPacket in class ConnectionManager<XMPPIOService<Object>>packet - is an instance of the Packet class passed for
processing.public Queue<Packet> processSocketData(XMPPIOService<Object> serv)
ConnectionManagerprocessSocketData in class ConnectionManager<XMPPIOService<Object>>Queue<Packet>public boolean processUndeliveredPacket(Packet packet, String errorMessage)
ConnectionManagerprocessUndeliveredPacket in class ConnectionManager<XMPPIOService<Object>>public void reconnectionFailed(Map<String,Object> port_props)
ConnectionManagerreconnectionFailed in class ConnectionManager<XMPPIOService<Object>>public void serviceStarted(XMPPIOService<Object> service)
ConnectionManagerserviceStarted in class ConnectionManager<XMPPIOService<Object>>public boolean serviceStopped(XMPPIOService<Object> service)
serviceStopped in interface IOServiceListener<XMPPIOService<Object>>serviceStopped in class ConnectionManager<XMPPIOService<Object>>public void start()
start in interface MessageReceiverstart in class AbstractMessageReceiverpublic void stop()
AbstractMessageReceiverstop in class ConnectionManager<XMPPIOService<Object>>public void tlsHandshakeCompleted(XMPPIOService<Object> serv)
public void xmppStreamClosed(XMPPIOService<Object> serv)
public String xmppStreamOpened(XMPPIOService<Object> serv, Map<String,String> attribs)
public Map<String,Object> getDefaults(Map<String,Object> params)
AbstractMessageReceiverMap with keys as configuration property IDs and values as the
configuration property values. All the default parameters returned from
this method are later passed to the setProperties(...) method.
Some of them may have changed value if they have been overwritten in the
server configuration. The configuration property value can be of any of the
basic types: int, long, boolean,
String.getDefaults in interface ConfigurablegetDefaults in class ConnectionManager<XMPPIOService<Object>>params - is a Map with some initial properties set for the
starting up server. These parameters can be used as a hints to
generate component's default configuration.Map with the component default configuration.public String getDiscoCategoryType()
BasicComponentgetDiscoCategoryType in class BasicComponentStringpublic String getDiscoDescription()
BasicComponentgetDiscoDescription in class BasicComponentStringpublic SeeOtherHostIfc getSeeOtherHostInstance(String see_other_host_class)
SeeOtherHostIfcsee_other_host_class - class of SeeOtherHostIfc implementationSeeOtherHostIfcpublic void setProperties(Map<String,Object> props) throws ConfigurationException
ConfigurablesetProperties in interface ConfigurablesetProperties in class ConnectionManager<XMPPIOService<Object>>props - Map with the configurationConfigurationException - - if setting configuration will
fail which will make it unable
to workprotected tigase.xmpp.JID changeDataReceiver(Packet packet, tigase.xmpp.JID newAddress, String command_sessionId, XMPPIOService<Object> serv)
packet - newAddress - command_sessionId - serv - JIDprotected boolean isAllowed(XMPPIOService<Object> serv, String hostname)
protected ReceiverTimeoutHandler newStartedHandler()
ReceiverTimeoutHandlerprotected ReceiverTimeoutHandler newStoppedHandler()
ReceiverTimeoutHandlerprotected void processCommand(Packet packet)
packet - protected int[] getDefPlainPorts()
ConnectionManagergetDefPlainPorts in class ConnectionManager<XMPPIOService<Object>>int[]protected int[] getDefSSLPorts()
ConnectionManagergetDefSSLPorts in class ConnectionManager<XMPPIOService<Object>>int[]protected long getMaxInactiveTime()
getMaxInactiveTime in class ConnectionManager<XMPPIOService<Object>>longprotected Integer getMaxQueueSize(int def)
AbstractMessageReceivergetMaxQueueSize in class AbstractMessageReceiverIntegerprotected XMPPIOService<Object> getXMPPIOServiceInstance()
ConnectionManagergetXMPPIOServiceInstance in class ConnectionManager<XMPPIOService<Object>>IOprotected boolean isTlsWantClientAuthEnabled()
ConnectionManagerisTlsWantClientAuthEnabled in class ConnectionManager<XMPPIOService<Object>>booleanprotected String prepareStreamClose(XMPPIOService<Object> serv)
protected String prepareStreamOpen(XMPPIOService<Object> serv, String id, String hostname)
protected String prepareStreamError(XMPPIOService<Object> serv, List<tigase.xml.Element> err_el)
protected String prepareStreamError(XMPPIOService<Object> serv, String errorName, String hostname)
protected String prepareSeeOtherHost(XMPPIOService<Object> serv, String hostname, tigase.xmpp.BareJID see_other_host)
protected void preprocessStreamFeatures(XMPPIOService<Object> serv, tigase.xml.Element elem_features)
Copyright © 2015 "Tigase, Inc.". All rights reserved.