Package tigase.server.xmppserver
Class S2SConnectionManager
- All Implemented Interfaces:
ClusteredComponentIfc
,Configurable
,XMPPService
,ConfigurationChangedAware
,Initializable
,RegistrarBean
,IOServiceListener<S2SIOService>
,MessageReceiver
,PacketWriterWithTimeout
,ServerComponent
,S2SConnectionHandlerIfc<S2SIOService>
,StatisticsContainer
,StatisticsContainerIfc
,VHostListener
,XMPPIOServiceListener<S2SIOService>
@Bean(name="s2s",
parent=Kernel.class,
active=true)
@ConfigType({DefaultMode,ConnectionManagersMode})
public class S2SConnectionManager
extends ConnectionManager<S2SIOService>
implements S2SConnectionHandlerIfc<S2SIOService>
Created: Jun 14, 2010 11:59:38 AM
- Author:
- Artur Hefczyc
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from class tigase.server.ConnectionManager
ConnectionManager.LIMIT_ACTION, ConnectionManager.PortConfigBean, ConnectionManager.PortsConfigBean, ConnectionManager.SecPortConfigBean, ConnectionManager.Watchdog, ConnectionManager.WATCHDOG_PING_TYPE
Nested classes/interfaces inherited from class tigase.server.BasicComponent
BasicComponent.ServerInfoVHostItemExtension
Nested classes/interfaces inherited from interface tigase.server.PacketWriterWithTimeout
PacketWriterWithTimeout.Handler
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final String
static final String
static final int
static final String
protected Map<CID,
CIDConnections> Outgoing and incoming connections for a given domains pair (localdomain, remotedomain)protected static final String
protected static final String
static final String
static final String
static final int
static final String
static final int
static final String
static final int
static final String
static final long
static final String
static final String
static final String
static final String
static final String
static final String
Fields inherited from class tigase.server.ConnectionManager
connectionDelay, delayPortListening, elements_number_limit, ELEMENTS_NUMBER_LIMIT_PROP_KEY, ELEMENTS_NUMBER_LIMIT_PROP_VAL, HT_TRAFFIC_THROTTLING_PROP_KEY, HT_TRAFFIC_THROTTLING_PROP_VAL, kernel, 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_ST_PROP_VAL, 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_LISTENING_DELAY_DEF, PORT_LISTENING_DELAY_KEY, PORT_LOCAL_HOST_PROP_KEY, PORT_NEW_CONNECTIONS_THROTTLING_KEY, PORT_REMOTE_HOST_PROP_KEY, PORT_REMOTE_HOST_PROP_VAL, PORT_SOCKET_PROP_KEY, PORT_TYPE_PROP_KEY, PORTS_PROP_KEY, PROP_KEY, serviceConnectedTimeout, SOCKET_BUFFER_HT_PROP_VAL, SOCKET_BUFFER_ST_PROP_VAL, ST_TRAFFIC_THROTTLING_PROP_KEY, ST_TRAFFIC_THROTTLING_PROP_VAL, TOTAL_BIN_LIMIT_PROP_VAL, TOTAL_PACKETS_LIMIT_PROP_VAL, TRAFFIC_THROTTLING_PROP_KEY, trafficThrottling, 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
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, maxInQueueSize, maxOutQueueSize, maxQueueSize, MINUTE, OUTGOING_FILTERS_PROP_KEY, OUTGOING_FILTERS_PROP_VAL, PACKET_DELIVERY_RETRY_COUNT_PROP_KEY, SCHEDULER_THREADS_PROP_KEY, SECOND
Fields inherited from class tigase.server.BasicComponent
admins, ALL_PROP_KEY, COMMAND_PROP_NODE, scriptCommands, scriptEngineManager, SCRIPTS_DIR_PROP_DEF, SCRIPTS_DIR_PROP_KEY, trusted, vHostManager
Fields inherited from interface tigase.conf.Configurable
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_EVENTBUS_NAME, DEF_EXT_COMP_NAME, DEF_HOSTNAME_PROP_KEY, DEF_MONITOR_NAME, DEF_S2S_NAME, DEF_SM_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, EVENTBUS_CLASS_NAME, 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, 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
Fields inherited from interface tigase.disco.XMPPService
CMD_FEATURES, DEF_FEATURES, INFO_XMLNS, ITEMS_XMLNS
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionboolean
addOutPacket
(Packet packet) void
addTimerTask
(TimerTask task, long delay, TimeUnit unit) Method queues and executes timer tasks using ScheduledExecutorService which allows using more than one thread for executing tasks.protected CIDConnections
getCIDConnections
(CID cid, boolean createNew) protected int[]
protected String
Method from ConnectionManager is overriden as it uses local value S2S_HT_TRAFFIC_THROTTLING_PROP_VALMethod returns component category type used for service discovery responses.Method returns description used for service discovery responses.protected long
getSecretForDomain
(String domain) Returns secret used for particular domaingetServerNameForDomain
(String domain) void
getStatistics
(StatisticsList list) Method returns component statistics.Returns stream features available for particular S2S connection.protected S2SIOService
boolean
Indicates whether the component can handle all packets to non-local domains.int
hashCodeForPacket
(Packet packet) This method decides how incoming packets are distributed among processing threads.void
initBindings
(Bindings binds) Initialize a mapping of key/value pairs which can be used in scripts loaded by the servervoid
initNewConnection
(Map<String, Object> port_props) protected boolean
boolean
boolean
isTlsRequired
(String domain) Checks if TLS is required for particular domainboolean
void
processPacket
(Packet packet) This is the mainPacket
processing method.boolean
processUndeliveredPacket
(Packet packet, Long stamp, String errorMessage) Processes undelivered packetsvoid
reconnectionFailed
(Map<String, Object> port_props) int
Method returns default number of threads used by SchedulerExecutorServiceboolean
sendVerifyResult
(String elem_name, CID connCid, CID keyCid, Boolean valid, String key_sessionId, String serv_sessionId, String cdata, boolean handshakingOnly) boolean
sendVerifyResult
(String elem_name, CID connCid, CID keyCid, Boolean valid, String key_sessionId, String serv_sessionId, String cdata, boolean handshakingOnly, Element errorElem) void
serviceConnected
(S2SIOService service) void
serviceStarted
(S2SIOService serv) boolean
serviceStopped
(S2SIOService serv) void
setProcessors
(List<S2SProcessor> processors) void
void
validateCIDConnection
(CID cid) void
writeRawData
(S2SIOService ios, String data) void
xmppStreamClosed
(S2SIOService serv) String[]
xmppStreamOpened
(S2SIOService serv, Map<String, String> attribs) Methods inherited from class tigase.server.ConnectionManager
addWaitingTask, beanConfigurationChanged, checkHighThroughputProperty, checkTrafficLimits, connectWaitingTasks, countIOServices, doForAllServices, enableServiceConnectedTimeout, everyMinute, getDefPorts, getDefSSLPorts, getFlashCrossDomainPolicy, getNet_buffer_limit, getParamsForPort, getPortsConfigBean, getServiceId, getServiceId, getTrafficThrottling, getUniqueId, getXMPPIOService, getXMPPIOService, initializationCompleted, newWatchdog, packetsReady, processingInThreads, processingOutThreads, redeliverWaitingPackets, register, release, releaseListener, setFlashCrossDomainPolicyFile, setName, setNet_buffer_limit, setProcessors, setTrafficThrottling, setupWatchdogThread, setWatchdogPingType, shouldRedeliverWaitingPackets, socketAccepted, start, startService, stop, unregister, updateConnectionDetails, writePacketsToSocket, writePacketToSocket, writePacketToSocket, writePacketToSocket, xmppStreamError
Methods inherited from class tigase.server.AbstractMessageReceiver
addOutPacketNB, addOutPackets, addOutPacketWithTimeout, addOutPacketWithTimeout, addPacket, addPacketNB, addPackets, addRegexRouting, addTimerTask, addTimerTask, addTimerTaskWithTimeout, addTimerTaskWithTimeout, clearRegexRoutings, everyHour, everySecond, getMaxQueueSize, getRegexRoutings, getResourceForPacketWithTimeout, isInRegexRoutings, newPacketId, processOutPacket, processPacket, removeRegexRouting, setCompId, setIncoming_filters, setOutgoing_filters, setParent, setSchedulerThreads_size, updateFiltersName
Methods inherited from class tigase.server.BasicComponent
addComponentDomain, canCallCommand, canCallCommand, checkCommandAcl, checkCommandAcl, createScriptEngineManager, getComponentId, getComponentInfo, getDefaults, getDefHostName, getDefVHostItem, getDiscoCategory, getDiscoExtensionsForm, getDiscoFeatures, getDiscoFeatures, getDiscoInfo, getDiscoItems, getName, getNodesConnected, getNodesConnectedWithLocal, getScriptCommands, getScriptItems, getServiceEntity, getServiceEntityCaps, getVHostItem, handlesLocalDomains, handlesNameSubdomains, initialize, isAdmin, isInitializationComplete, isLocalDomain, isLocalDomainOrComponent, isNonAdminCommands, isSubdomain, isTrusted, isTrusted, nodeConnected, nodeDisconnected, onNodeConnected, onNodeDisconnected, processScriptCommand, reloadScripts, removeComponentDomain, removeServiceDiscoveryItem, setAdmins, setClusterController, setCommandsACL, setProperties, setScriptsBaseDir, setVHostManager, updateServiceDiscoveryItem, updateServiceDiscoveryItem, updateServiceDiscoveryItem, updateServiceEntity
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.xmppserver.S2SConnectionHandlerIfc
getDefHostName, writePacketsToSocket, writePacketToSocket
Methods inherited from interface tigase.server.ServerComponent
getComponentId, getComponentInfo, getName, isInitializationComplete
Methods inherited from interface tigase.stats.StatisticsContainerIfc
getName
-
Field Details
-
CID_CONNECTIONS_BIND
- See Also:
-
CID_KEY
- See Also:
-
CID_CONNECTIONS_TASKS_THREADS_KEY
- See Also:
-
MAX_CONNECTION_INACTIVITY_TIME_PROP_KEY
- See Also:
-
MAX_INCOMING_CONNECTIONS_PROP_KEY
- See Also:
-
MAX_INCOMING_CONNECTIONS_PROP_VAL
public static final int MAX_INCOMING_CONNECTIONS_PROP_VAL- See Also:
-
MAX_OUT_PER_IP_CONNECTIONS_PROP_KEY
- See Also:
-
MAX_OUT_PER_IP_CONNECTIONS_PROP_VAL
public static final int MAX_OUT_PER_IP_CONNECTIONS_PROP_VAL- See Also:
-
MAX_OUT_TOTAL_CONNECTIONS_PROP_KEY
- See Also:
-
MAX_OUT_TOTAL_CONNECTIONS_PROP_VAL
public static final int MAX_OUT_TOTAL_CONNECTIONS_PROP_VAL- See Also:
-
MAX_PACKET_WAITING_TIME_PROP_KEY
- See Also:
-
S2S_CONNECTION_SELECTOR_PROP_KEY
- See Also:
-
S2S_CONNECTION_SELECTOR_PROP_VAL
- See Also:
-
S2S_DOMAIN_MAPPING_PROP_KEY
- See Also:
-
S2S_DOMAIN_MAPPING_PROP_VAL
- See Also:
-
S2S_HT_TRAFFIC_THROTTLING_PROP_VAL
- See Also:
-
MAX_PACKET_WAITING_TIME_PROP_VAL
public static final long MAX_PACKET_WAITING_TIME_PROP_VAL- See Also:
-
CID_CONNECTIONS_TASKS_THREADS_VAL
public static final int CID_CONNECTIONS_TASKS_THREADS_VAL -
XMLNS_SERVER_VAL
- See Also:
-
DB_RESULT_EL_NAME
- See Also:
-
DB_VERIFY_EL_NAME
- See Also:
-
cidConnections
Outgoing and incoming connections for a given domains pair (localdomain, remotedomain)
-
-
Constructor Details
-
S2SConnectionManager
public S2SConnectionManager()
-
-
Method Details
-
addOutPacket
- Specified by:
addOutPacket
in interfaceS2SConnectionHandlerIfc<S2SIOService>
- Overrides:
addOutPacket
in classAbstractMessageReceiver
-
addTimerTask
Description copied from class:AbstractMessageReceiver
Method queues and executes timer tasks using ScheduledExecutorService which allows using more than one thread for executing tasks.- Specified by:
addTimerTask
in interfaceS2SConnectionHandlerIfc<S2SIOService>
- Overrides:
addTimerTask
in classAbstractMessageReceiver
-
handlesNonLocalDomains
public boolean handlesNonLocalDomains()Description copied from interface:VHostListener
Indicates whether the component can handle all packets to non-local domains. S2s connection manager component is the best example of the component which handles all requests sent to non-local domains.- Specified by:
handlesNonLocalDomains
in interfaceVHostListener
- Overrides:
handlesNonLocalDomains
in classBasicComponent
- Returns:
- 'true' if the component accepts packets to non-local domains 'false' otherwise.
-
hashCodeForPacket
Description copied from class:AbstractMessageReceiver
This method decides how incoming packets are distributed among processing threads. Different components needs different distribution to efficient use all threads and avoid packets re-ordering.
If there are N processing threads, packets are distributed among threads using following code:
int 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....- Overrides:
hashCodeForPacket
in classConnectionManager<S2SIOService>
- Parameters:
packet
- is aPacket
which needs to be processed by some thread.- Returns:
- a hash code generated for the input thread.
-
initBindings
Description copied from class:BasicComponent
Initialize a mapping of key/value pairs which can be used in scripts loaded by the server- Overrides:
initBindings
in classConnectionManager<S2SIOService>
- Parameters:
binds
- A mapping of key/value pairs, all of whose keys are Strings.
-
initNewConnection
- Specified by:
initNewConnection
in interfaceS2SConnectionHandlerIfc<S2SIOService>
-
processPacket
Description copied from class:AbstractMessageReceiver
This is the mainPacket
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.
Please note, thePacket
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 thePacket
instance as unmodifiable object.
Processing in this method is asynchronous, therefore there is no result value. If there are some 'result' packets generated during processing, they should be passed back usingaddOutPacket(Packet)
method.- Overrides:
processPacket
in classConnectionManager<S2SIOService>
- Parameters:
packet
- is an instance of thePacket
class passed for processing.
-
processSocketData
- Specified by:
processSocketData
in classConnectionManager<S2SIOService>
-
processUndeliveredPacket
Description copied from class:ConnectionManager
Processes undelivered packets- Specified by:
processUndeliveredPacket
in classConnectionManager<S2SIOService>
stamp
- - timestamp when packet was received to be written to XMPPIOService
-
reconnectionFailed
- Specified by:
reconnectionFailed
in classConnectionManager<S2SIOService>
-
schedulerThreads
public int schedulerThreads()Description copied from class:AbstractMessageReceiver
Method returns default number of threads used by SchedulerExecutorService- Overrides:
schedulerThreads
in classAbstractMessageReceiver
- Returns:
- a value of
int
-
sendVerifyResult
public boolean sendVerifyResult(String elem_name, CID connCid, CID keyCid, Boolean valid, String key_sessionId, String serv_sessionId, String cdata, boolean handshakingOnly) - Specified by:
sendVerifyResult
in interfaceS2SConnectionHandlerIfc<S2SIOService>
-
sendVerifyResult
public boolean sendVerifyResult(String elem_name, CID connCid, CID keyCid, Boolean valid, String key_sessionId, String serv_sessionId, String cdata, boolean handshakingOnly, Element errorElem) - Specified by:
sendVerifyResult
in interfaceS2SConnectionHandlerIfc<S2SIOService>
-
serviceConnected
- Specified by:
serviceConnected
in interfaceS2SConnectionHandlerIfc<S2SIOService>
- Overrides:
serviceConnected
in classConnectionManager<S2SIOService>
-
serviceStarted
- Overrides:
serviceStarted
in classConnectionManager<S2SIOService>
-
serviceStopped
- Specified by:
serviceStopped
in interfaceIOServiceListener<S2SIOService>
- Overrides:
serviceStopped
in classConnectionManager<S2SIOService>
-
tlsHandshakeCompleted
- Specified by:
tlsHandshakeCompleted
in interfaceIOServiceListener<S2SIOService>
-
writeRawData
- Specified by:
writeRawData
in interfaceS2SConnectionHandlerIfc<S2SIOService>
- Overrides:
writeRawData
in classConnectionManager<S2SIOService>
-
xmppStreamClosed
- Specified by:
xmppStreamClosed
in interfaceXMPPIOServiceListener<S2SIOService>
-
xmppStreamOpened
- Specified by:
xmppStreamOpened
in interfaceXMPPIOServiceListener<S2SIOService>
-
getCIDConnections
public CIDConnections getCIDConnections(CID cid, boolean createNew) throws NotLocalhostException, LocalhostException - Specified by:
getCIDConnections
in interfaceS2SConnectionHandlerIfc<S2SIOService>
- Throws:
NotLocalhostException
LocalhostException
-
validateCIDConnection
- Specified by:
validateCIDConnection
in interfaceS2SConnectionHandlerIfc<S2SIOService>
- Throws:
NotLocalhostException
LocalhostException
-
getConnectionOpenerService
- Specified by:
getConnectionOpenerService
in interfaceS2SConnectionHandlerIfc<S2SIOService>
-
getDiscoCategoryType
Description copied from class:BasicComponent
Method returns component category type used for service discovery responses.- Overrides:
getDiscoCategoryType
in classBasicComponent
- Returns:
- category type of a component
-
getDiscoDescription
Description copied from class:BasicComponent
Method returns description used for service discovery responses.- Overrides:
getDiscoDescription
in classBasicComponent
- Returns:
- description of a component
-
getSecretForDomain
Returns secret used for particular domain
Secret is used in generation of dialback key- Specified by:
getSecretForDomain
in interfaceS2SConnectionHandlerIfc<S2SIOService>
- Parameters:
domain
- for which secret should be returned- Returns:
- for particular domain
- Throws:
NotLocalhostException
- if the domain is not local
-
getServerNameForDomain
- Specified by:
getServerNameForDomain
in interfaceS2SConnectionHandlerIfc<S2SIOService>
-
getStatistics
Description copied from class:AbstractMessageReceiver
Method returns component statistics. Please note, the method can be called every second by the server monitoring system therefore no extensive or lengthy calculations are allowed. If there are some statistics requiring lengthy operations like database access they must haveLevel.FINEST
assigned and must be put inside the level guard to prevent generating them by the system monitor. The system monitor does not collectFINEST
statistics.
Level guard code looks like the example below:
if (list.checkLevel(Level.FINEST)) { // Some CPU intensive calculations or lengthy operations list.add(getName(), "Statistic description", stat_value, Level.FINEST); }
This way you make sure your extensive operation is not executed every second by the monitoring system and does not affect the server performance.- Specified by:
getStatistics
in interfaceStatisticsContainerIfc
- Overrides:
getStatistics
in classConnectionManager<S2SIOService>
- Parameters:
list
- is aStatistcsList
where all statistics are stored.
-
getStreamFeatures
Description copied from interface:S2SConnectionHandlerIfc
Returns stream features available for particular S2S connection.- Specified by:
getStreamFeatures
in interfaceS2SConnectionHandlerIfc<S2SIOService>
- Parameters:
serv
-S2SIOService
for which stream features should be retrieved- Returns:
- list of stream features
-
isTlsRequired
Description copied from interface:S2SConnectionHandlerIfc
Checks if TLS is required for particular domain- Specified by:
isTlsRequired
in interfaceS2SConnectionHandlerIfc<S2SIOService>
- Parameters:
domain
- for which secret should be returned- Returns:
- boolean indicating whether TLS is required
-
isTlsWantClientAuthEnabled
public boolean isTlsWantClientAuthEnabled()- Specified by:
isTlsWantClientAuthEnabled
in interfaceS2SConnectionHandlerIfc<S2SIOService>
-
isTlsNeedClientAuthEnabled
public boolean isTlsNeedClientAuthEnabled()- Specified by:
isTlsNeedClientAuthEnabled
in interfaceS2SConnectionHandlerIfc<S2SIOService>
-
setProcessors
-
getDefPlainPorts
protected int[] getDefPlainPorts()- Overrides:
getDefPlainPorts
in classConnectionManager<S2SIOService>
-
getDefTrafficThrottling
Method from ConnectionManager is overriden as it uses local value S2S_HT_TRAFFIC_THROTTLING_PROP_VAL- Overrides:
getDefTrafficThrottling
in classConnectionManager<S2SIOService>
-
getMaxInactiveTime
protected long getMaxInactiveTime()- Specified by:
getMaxInactiveTime
in classConnectionManager<S2SIOService>
-
getXMPPIOServiceInstance
- Specified by:
getXMPPIOServiceInstance
in classConnectionManager<S2SIOService>
-
isHighThroughput
protected boolean isHighThroughput()- Overrides:
isHighThroughput
in classConnectionManager<S2SIOService>
-
createNewCIDConnections
protected CIDConnections createNewCIDConnections(CID cid) throws NotLocalhostException, LocalhostException
-