IO
- public abstract class ConnectionManager<IO extends XMPPIOService<?>> extends AbstractMessageReceiver implements XMPPIOServiceListener<IO>
Modifier and Type | Class and Description |
---|---|
static class |
ConnectionManager.LIMIT_ACTION
Describe class
LIMIT_ACTION here. |
Modifier and Type | Field and Description |
---|---|
protected long |
connectionDelay
Field description
|
protected int |
elements_number_limit
Protection from the system overload and DOS attack.
|
static String |
ELEMENTS_NUMBER_LIMIT_PROP_KEY
Key name of the system property for configuration protection
from system overload and DOS attack.
|
static int |
ELEMENTS_NUMBER_LIMIT_PROP_VAL
Default value for the system property for configuration protection
from system overload and DOS attack.
|
static String |
HT_TRAFFIC_THROTTLING_PROP_KEY
Field description
|
static String |
HT_TRAFFIC_THROTTLING_PROP_VAL
Field description
|
protected static long |
LAST_MINUTE_BIN_LIMIT_PROP_VAL
Field description
|
protected static long |
LAST_MINUTE_PACKETS_LIMIT_PROP_VAL
Field description
|
protected static String |
MAX_INACTIVITY_TIME
Field description
|
protected static String |
MAX_RECONNECTS_PROP_KEY
Field description
|
protected int |
net_buffer
Field description
|
static String |
NET_BUFFER_HT_PROP_KEY
Field description.
|
protected static int |
NET_BUFFER_HT_PROP_VAL
Field description
|
protected static String |
NET_BUFFER_PROP_KEY
Field description
|
static String |
NET_BUFFER_ST_PROP_KEY
Field description.
|
protected static int |
NET_BUFFER_ST_PROP_VAL
Field description
|
protected static String |
PORT_CLASS_PROP_KEY
Field description
|
protected static String |
PORT_IFC_PROP_KEY
Field description
|
String[] |
PORT_IFC_PROP_VAL
Field description.
|
protected static String |
PORT_KEY
Field description
|
static String |
PORT_LOCAL_HOST_PROP_KEY
Field description.
|
protected static String |
PORT_REMOTE_HOST_PROP_KEY
Field description
|
protected static String |
PORT_REMOTE_HOST_PROP_VAL
Field description
|
protected static String |
PORT_SOCKET_PROP_KEY
Field description
|
protected static String |
PORT_TYPE_PROP_KEY
Field description
|
protected static String |
PORTS_PROP_KEY
Field description
|
protected static String |
PROP_KEY
Field description
|
static String |
ST_TRAFFIC_THROTTLING_PROP_KEY
Field description
|
static String |
ST_TRAFFIC_THROTTLING_PROP_VAL
Field description
|
protected static String |
TLS_PROP_KEY
Field description
|
protected static String |
TLS_REQUIRED_PROP_KEY
Field description
|
protected static boolean |
TLS_REQUIRED_PROP_VAL
Field description
|
protected static String |
TLS_USE_PROP_KEY
Field description
|
protected static boolean |
TLS_USE_PROP_VAL
Field description
|
protected static long |
TOTAL_BIN_LIMIT_PROP_VAL
Field description
|
protected static long |
TOTAL_PACKETS_LIMIT_PROP_VAL
Field description
|
static String |
TRAFFIC_THROTTLING_PROP_KEY
Field description
|
protected static String |
WHITE_CHAR_ACK_PROP_KEY
Field description
|
protected static boolean |
WHITE_CHAR_ACK_PROP_VAL
Field description
|
protected static String |
XMPP_ACK_PROP_KEY
Field description
|
protected static boolean |
XMPP_ACK_PROP_VAL
Field description
|
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, 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, 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 |
---|
ConnectionManager() |
Modifier and Type | Method and Description |
---|---|
protected void |
addWaitingTask(Map<String,Object> conn)
Method description
|
protected <T> void |
checkHighThroughputProperty(String ht_def_key,
T ht_dev_val,
String st_def_key,
T st_def_val,
String prop_key,
Class<T> prop_val_class,
Map<String,Object> params,
Map<String,Object> props)
Method description
|
boolean |
checkTrafficLimits(IO serv)
Method description
|
protected int |
countIOServices()
Returns number of active network connections (IOServices).
|
protected void |
doForAllServices(ServiceChecker<IO> checker)
Perform a given action defined by ServiceChecker for all active IOService
objects (active network connections).
|
void |
everyMinute()
Method description
|
Map<String,Object> |
getDefaults(Map<String,Object> params)
Method description
|
protected int[] |
getDefPlainPorts()
Method description
|
protected int[] |
getDefSSLPorts()
Method description
|
protected String |
getDefTrafficThrottling()
Method description
|
protected abstract long |
getMaxInactiveTime()
Method description
|
protected Map<String,Object> |
getParamsForPort(int port)
Method description
|
protected String |
getServiceId(tigase.xmpp.JID jid)
Method description
|
protected String |
getServiceId(Packet packet)
Method description
|
void |
getStatistics(StatisticsList list)
Generates the component statistics.
|
protected String |
getUniqueId(IO serv)
Method description
|
protected IO |
getXMPPIOService(Packet p)
Method description
|
IO |
getXMPPIOService(String serviceId)
Method description
|
protected abstract IO |
getXMPPIOServiceInstance()
Method description
|
int |
hashCodeForPacket(Packet packet)
This method can be overwritten in extending classes to get a different
packets distribution to different threads.
|
void |
initBindings(Bindings binds)
Initialize a mapping of key/value pairs which can be used in scripts
loaded by the server
|
void |
initializationCompleted()
Method description
|
protected boolean |
isHighThroughput()
Method description
|
protected boolean |
isTlsWantClientAuthEnabled()
Method description
|
void |
packetsReady(IO serv)
Method description
|
int |
processingInThreads()
Method description
|
int |
processingOutThreads()
Method description
|
void |
processPacket(Packet packet)
Method description
|
abstract Queue<Packet> |
processSocketData(IO serv)
Method description
|
abstract void |
reconnectionFailed(Map<String,Object> port_props)
Method description
|
void |
release()
Method description
|
void |
serviceStarted(IO service)
Method description
|
boolean |
serviceStopped(IO service) |
void |
setName(String name)
Method description
|
void |
setProperties(Map<String,Object> props)
Method description
|
void |
stop()
Method description
|
void |
updateConnectionDetails(Map<String,Object> port_props)
Method description
|
void |
writePacketsToSocket(IO serv,
Queue<Packet> packets)
Method description
|
boolean |
writePacketToSocket(IO ios,
Packet p)
Method description
|
protected boolean |
writePacketToSocket(Packet p) |
protected boolean |
writePacketToSocket(Packet p,
String serviceId)
Method description
|
protected void |
writeRawData(IO ios,
String data)
Method description
|
addOutPacket, addOutPacketNB, addOutPackets, addOutPacketWithTimeout, addPacket, addPacketNB, addPackets, addRegexRouting, addTimerTask, addTimerTask, addTimerTask, addTimerTask, clearRegexRoutings, everyHour, everySecond, getMaxQueueSize, getRegexRoutings, isInRegexRoutings, newPacketId, processingThreads, processOutPacket, processPacket, removeRegexRouting, schedulerThreads, setMaxQueueSize, setParent, start
addComponentDomain, canCallCommand, checkCommandAcl, getComponentId, getComponentInfo, getDefHostName, getDefVHostItem, getDiscoCategory, getDiscoCategoryType, getDiscoDescription, 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
xmppStreamClosed, xmppStreamOpened
tlsHandshakeCompleted
getDefHostName
getComponentId, getComponentInfo, getName, isInitializationComplete
public static final String HT_TRAFFIC_THROTTLING_PROP_KEY
public static final String HT_TRAFFIC_THROTTLING_PROP_VAL
public static final String NET_BUFFER_HT_PROP_KEY
public static final String NET_BUFFER_ST_PROP_KEY
public static final String PORT_LOCAL_HOST_PROP_KEY
public static final String ST_TRAFFIC_THROTTLING_PROP_KEY
public static final String ST_TRAFFIC_THROTTLING_PROP_VAL
public static final String TRAFFIC_THROTTLING_PROP_KEY
protected static final long LAST_MINUTE_BIN_LIMIT_PROP_VAL
protected static final long LAST_MINUTE_PACKETS_LIMIT_PROP_VAL
protected static final String MAX_INACTIVITY_TIME
protected static final String MAX_RECONNECTS_PROP_KEY
protected static final int NET_BUFFER_HT_PROP_VAL
protected static final String NET_BUFFER_PROP_KEY
protected static final int NET_BUFFER_ST_PROP_VAL
public static final String ELEMENTS_NUMBER_LIMIT_PROP_KEY
public static int ELEMENTS_NUMBER_LIMIT_PROP_VAL
protected static final String PORT_CLASS_PROP_KEY
protected static final String PORT_IFC_PROP_KEY
protected static final String PORT_KEY
protected static final String PORT_REMOTE_HOST_PROP_KEY
protected static final String PORT_REMOTE_HOST_PROP_VAL
protected static final String PORT_SOCKET_PROP_KEY
protected static final String PORT_TYPE_PROP_KEY
protected static final String PROP_KEY
protected static final long TOTAL_BIN_LIMIT_PROP_VAL
protected static final long TOTAL_PACKETS_LIMIT_PROP_VAL
protected static final String WHITE_CHAR_ACK_PROP_KEY
protected static final String XMPP_ACK_PROP_KEY
protected static final boolean XMPP_ACK_PROP_VAL
protected static final boolean WHITE_CHAR_ACK_PROP_VAL
protected static final String PORTS_PROP_KEY
protected static final boolean TLS_USE_PROP_VAL
protected static final String TLS_PROP_KEY
protected static final String TLS_USE_PROP_KEY
protected static final boolean TLS_REQUIRED_PROP_VAL
protected static final String TLS_REQUIRED_PROP_KEY
public String[] PORT_IFC_PROP_VAL
protected int elements_number_limit
protected int net_buffer
protected long connectionDelay
public boolean checkTrafficLimits(IO serv)
serv
- boolean
public void everyMinute()
everyMinute
in class AbstractMessageReceiver
public int hashCodeForPacket(Packet packet)
hashCodeForPacket
in class AbstractMessageReceiver
packet
- int
public void initBindings(Bindings binds)
initBindings
in class BasicComponent
binds
- A mapping of key/value pairs, all of whose keys are Strings.public void initializationCompleted()
initializationCompleted
in interface ServerComponent
initializationCompleted
in class BasicComponent
public void packetsReady(IO serv) throws IOException
packetsReady
in interface IOServiceListener<IO extends XMPPIOService<?>>
serv
- IOException
public int processingInThreads()
processingInThreads
in class AbstractMessageReceiver
int
public int processingOutThreads()
processingOutThreads
in class AbstractMessageReceiver
int
public void processPacket(Packet packet)
processPacket
in class AbstractMessageReceiver
packet
- public abstract Queue<Packet> processSocketData(IO serv)
serv
- Queue
public abstract void reconnectionFailed(Map<String,Object> port_props)
port_props
- public void release()
release
in interface ServerComponent
release
in class AbstractMessageReceiver
@TODO(note="Do something if service with the same unique ID is already started, possibly kill the old one...") public void serviceStarted(IO service)
service
- public boolean serviceStopped(IO service)
serviceStopped
in interface IOServiceListener<IO extends XMPPIOService<?>>
service
- boolean
public void stop()
stop
in class AbstractMessageReceiver
public void updateConnectionDetails(Map<String,Object> port_props)
port_props
- public void writePacketsToSocket(IO serv, Queue<Packet> packets)
serv
- packets
- public boolean writePacketToSocket(IO ios, Packet p)
ios
- p
- boolean
public Map<String,Object> getDefaults(Map<String,Object> params)
getDefaults
in interface Configurable
getDefaults
in class AbstractMessageReceiver
params
- Map
public void getStatistics(StatisticsList list)
getStatistics
in interface StatisticsContainer
getStatistics
in class AbstractMessageReceiver
list
- is a collection to put the component statistics in.public IO getXMPPIOService(String serviceId)
serviceId
- IO
public void setName(String name)
setName
in interface ServerComponent
setName
in class AbstractMessageReceiver
name
- public void setProperties(Map<String,Object> props)
setProperties
in interface Configurable
setProperties
in class AbstractMessageReceiver
props
- protected void addWaitingTask(Map<String,Object> conn)
conn
- protected <T> void checkHighThroughputProperty(String ht_def_key, T ht_dev_val, String st_def_key, T st_def_val, String prop_key, Class<T> prop_val_class, Map<String,Object> params, Map<String,Object> props)
T
- ht_def_key
- ht_dev_val
- st_def_key
- st_def_val
- prop_key
- prop_val_class
- params
- props
- protected int countIOServices()
protected void doForAllServices(ServiceChecker<IO> checker)
checker
- is a ServiceChecker
instance defining an action to
perform for all IOService objects.protected boolean writePacketToSocket(Packet p)
p
- boolean
protected boolean writePacketToSocket(Packet p, String serviceId)
p
- serviceId
- boolean
protected void writeRawData(IO ios, String data)
ios
- data
- protected int[] getDefPlainPorts()
int[]
protected int[] getDefSSLPorts()
int[]
protected String getDefTrafficThrottling()
String
protected abstract long getMaxInactiveTime()
long
protected Map<String,Object> getParamsForPort(int port)
port
- Map
protected String getServiceId(Packet packet)
packet
- String
protected String getServiceId(tigase.xmpp.JID jid)
jid
- String
protected String getUniqueId(IO serv)
serv
- String
protected IO getXMPPIOService(Packet p)
p
- IO
protected abstract IO getXMPPIOServiceInstance()
IO
protected boolean isHighThroughput()
boolean
protected boolean isTlsWantClientAuthEnabled()
boolean
Copyright © 2014 "Tigase, Inc.". All rights reserved.