tigase.server

## Class ConnectionManager<IO extends XMPPIOService<?>>

- java.lang.Object
- - tigase.server.BasicComponent
  - - tigase.server.AbstractMessageReceiver
    - - tigase.server.ConnectionManager<IO>

- Type Parameters:
    `IO` -
  All Implemented Interfaces:
    Configurable, XMPPService, IOServiceListener<IO>, MessageReceiver, ServerComponent, StatisticsContainer, VHostListener, XMPPIOServiceListener<IO>
  Direct Known Subclasses:
    ClientConnectionManager, ClusterConnectionManager, ComponentConnectionManager, ComponentProtocol, S2SConnectionManager, ServerConnectionManager

      public abstract class ConnectionManager<IO extends XMPPIOService<?>>
      extends AbstractMessageReceiver
      implements XMPPIOServiceListener<IO>

  Describe class ConnectionManager here. Created: Sun Jan 22 22:52:58 2006
  Version:
    $Rev$
  Author:
    Artur Hefczyc

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `ConnectionManager.LIMIT_ACTION` Describe class `LIMIT_ACTION` here.

  - ### Field Summary

    Fields
    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

    - ### 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, MINUTE, OUTGOING_FILTERS_PROP_KEY, OUTGOING_FILTERS_PROP_VAL, SCHEDULER_THREADS_PROP_KEY, SECOND`

    - ### Fields inherited from class tigase.server.BasicComponent

      `admins, ALL_PROP_KEY, COMMAND_PROP_NODE, scriptCommands, SCRIPTS_DIR_PROP_DEF, SCRIPTS_DIR_PROP_KEY, vHostManager`

    - ### Fields inherited from interface tigase.conf.Configurable

      `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`

    - ### Fields inherited from interface tigase.disco.XMPPService

      `CMD_FEATURES, DEF_FEATURES, INFO_XMLNS, ITEMS_XMLNS`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ConnectionManager()`

  - ### Method Summary

    Methods
    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

    - ### Methods inherited from class tigase.server.AbstractMessageReceiver

      `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`

    - ### Methods inherited from class tigase.server.BasicComponent

      `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`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface tigase.xmpp.XMPPIOServiceListener

      `xmppStreamClosed, xmppStreamOpened`

    - ### Methods inherited from interface tigase.net.IOServiceListener

      `tlsHandshakeCompleted`

    - ### Methods inherited from interface tigase.server.MessageReceiver

      `getDefHostName`

    - ### Methods inherited from interface tigase.server.ServerComponent

      `getComponentId, getComponentInfo, getName, isInitializationComplete`

- - ### Field Detail

    - #### HT_TRAFFIC_THROTTLING_PROP_KEY

          public static final String HT_TRAFFIC_THROTTLING_PROP_KEY

      Field description
      See Also:
        Constant Field Values

    - #### HT_TRAFFIC_THROTTLING_PROP_VAL

          public static final String HT_TRAFFIC_THROTTLING_PROP_VAL

      Field description
      See Also:
        Constant Field Values

    - #### NET_BUFFER_HT_PROP_KEY

          public static final String NET_BUFFER_HT_PROP_KEY

      Field description.
      See Also:
        Constant Field Values

    - #### NET_BUFFER_ST_PROP_KEY

          public static final String NET_BUFFER_ST_PROP_KEY

      Field description.
      See Also:
        Constant Field Values

    - #### PORT_LOCAL_HOST_PROP_KEY

          public static final String PORT_LOCAL_HOST_PROP_KEY

      Field description.
      See Also:
        Constant Field Values

    - #### ST_TRAFFIC_THROTTLING_PROP_KEY

          public static final String ST_TRAFFIC_THROTTLING_PROP_KEY

      Field description
      See Also:
        Constant Field Values

    - #### ST_TRAFFIC_THROTTLING_PROP_VAL

          public static final String ST_TRAFFIC_THROTTLING_PROP_VAL

      Field description
      See Also:
        Constant Field Values

    - #### TRAFFIC_THROTTLING_PROP_KEY

          public static final String TRAFFIC_THROTTLING_PROP_KEY

      Field description
      See Also:
        Constant Field Values

    - #### LAST_MINUTE_BIN_LIMIT_PROP_VAL

          protected static final long LAST_MINUTE_BIN_LIMIT_PROP_VAL

      Field description
      See Also:
        Constant Field Values

    - #### LAST_MINUTE_PACKETS_LIMIT_PROP_VAL

          protected static final long LAST_MINUTE_PACKETS_LIMIT_PROP_VAL

      Field description
      See Also:
        Constant Field Values

    - #### MAX_INACTIVITY_TIME

          protected static final String MAX_INACTIVITY_TIME

      Field description
      See Also:
        Constant Field Values

    - #### MAX_RECONNECTS_PROP_KEY

          protected static final String MAX_RECONNECTS_PROP_KEY

      Field description
      See Also:
        Constant Field Values

    - #### NET_BUFFER_HT_PROP_VAL

          protected static final int NET_BUFFER_HT_PROP_VAL

      Field description
      See Also:
        Constant Field Values

    - #### NET_BUFFER_PROP_KEY

          protected static final String NET_BUFFER_PROP_KEY

      Field description
      See Also:
        Constant Field Values

    - #### NET_BUFFER_ST_PROP_VAL

          protected static final int NET_BUFFER_ST_PROP_VAL

      Field description
      See Also:
        Constant Field Values

    - #### ELEMENTS_NUMBER_LIMIT_PROP_KEY

          public static final String ELEMENTS_NUMBER_LIMIT_PROP_KEY

      Key name of the system property for configuration protection from system overload and DOS attack.
      See Also:
        Constant Field Values

    - #### ELEMENTS_NUMBER_LIMIT_PROP_VAL

          public static int ELEMENTS_NUMBER_LIMIT_PROP_VAL

      Default value for the system property for configuration protection from system overload and DOS attack.

    - #### PORT_CLASS_PROP_KEY

          protected static final String PORT_CLASS_PROP_KEY

      Field description
      See Also:
        Constant Field Values

    - #### PORT_IFC_PROP_KEY

          protected static final String PORT_IFC_PROP_KEY

      Field description
      See Also:
        Constant Field Values

    - #### PORT_KEY

          protected static final String PORT_KEY

      Field description
      See Also:
        Constant Field Values

    - #### PORT_REMOTE_HOST_PROP_KEY

          protected static final String PORT_REMOTE_HOST_PROP_KEY

      Field description
      See Also:
        Constant Field Values

    - #### PORT_REMOTE_HOST_PROP_VAL

          protected static final String PORT_REMOTE_HOST_PROP_VAL

      Field description
      See Also:
        Constant Field Values

    - #### PORT_SOCKET_PROP_KEY

          protected static final String PORT_SOCKET_PROP_KEY

      Field description
      See Also:
        Constant Field Values

    - #### PORT_TYPE_PROP_KEY

          protected static final String PORT_TYPE_PROP_KEY

      Field description
      See Also:
        Constant Field Values

    - #### PROP_KEY

          protected static final String PROP_KEY

      Field description
      See Also:
        Constant Field Values

    - #### TOTAL_BIN_LIMIT_PROP_VAL

          protected static final long TOTAL_BIN_LIMIT_PROP_VAL

      Field description
      See Also:
        Constant Field Values

    - #### TOTAL_PACKETS_LIMIT_PROP_VAL

          protected static final long TOTAL_PACKETS_LIMIT_PROP_VAL

      Field description
      See Also:
        Constant Field Values

    - #### WHITE_CHAR_ACK_PROP_KEY

          protected static final String WHITE_CHAR_ACK_PROP_KEY

      Field description
      See Also:
        Constant Field Values

    - #### XMPP_ACK_PROP_KEY

          protected static final String XMPP_ACK_PROP_KEY

      Field description
      See Also:
        Constant Field Values

    - #### XMPP_ACK_PROP_VAL

          protected static final boolean XMPP_ACK_PROP_VAL

      Field description
      See Also:
        Constant Field Values

    - #### WHITE_CHAR_ACK_PROP_VAL

          protected static final boolean WHITE_CHAR_ACK_PROP_VAL

      Field description
      See Also:
        Constant Field Values

    - #### PORTS_PROP_KEY

          protected static final String PORTS_PROP_KEY

      Field description
      See Also:
        Constant Field Values

    - #### TLS_USE_PROP_VAL

          protected static final boolean TLS_USE_PROP_VAL

      Field description
      See Also:
        Constant Field Values

    - #### TLS_PROP_KEY

          protected static final String TLS_PROP_KEY

      Field description
      See Also:
        Constant Field Values

    - #### TLS_USE_PROP_KEY

          protected static final String TLS_USE_PROP_KEY

      Field description
      See Also:
        Constant Field Values

    - #### TLS_REQUIRED_PROP_VAL

          protected static final boolean TLS_REQUIRED_PROP_VAL

      Field description
      See Also:
        Constant Field Values

    - #### TLS_REQUIRED_PROP_KEY

          protected static final String TLS_REQUIRED_PROP_KEY

      Field description
      See Also:
        Constant Field Values

    - #### PORT_IFC_PROP_VAL

          public String[] PORT_IFC_PROP_VAL

      Field description.

    - #### elements_number_limit

          protected int elements_number_limit

      Protection from the system overload and DOS attack. We want to limit number of elements created within a single XMPP stanza.

    - #### net_buffer

          protected int net_buffer

      Field description

    - #### connectionDelay

          protected long connectionDelay

      Field description

  - ### Constructor Detail

    - #### ConnectionManager

          public ConnectionManager()

  - ### Method Detail

    - #### checkTrafficLimits

          public boolean checkTrafficLimits(IO serv)

      Method description
      Parameters:
        `serv` -
      Returns:
        a value of `boolean`

    - #### everyMinute

          public void everyMinute()

      Method description
      Overrides:
        `everyMinute` in class `AbstractMessageReceiver`

    - #### hashCodeForPacket

          public int hashCodeForPacket(Packet packet)

      This method can be overwritten in extending classes to get a different packets distribution to different threads. For PubSub, probably better packets distribution to different threads would be based on the sender address rather then destination address.
      Overrides:
        `hashCodeForPacket` in class `AbstractMessageReceiver`
      Parameters:
        `packet` -
      Returns:
        a value of `int`

    - #### initBindings

          public void initBindings(Bindings binds)

      Initialize a mapping of key/value pairs which can be used in scripts loaded by the server
      Overrides:
        `initBindings` in class `BasicComponent`
      Parameters:
        `binds` - A mapping of key/value pairs, all of whose keys are Strings.

    - #### initializationCompleted

          public void initializationCompleted()

      Method description
      Specified by:
        `initializationCompleted` in interface `ServerComponent`
      Overrides:
        `initializationCompleted` in class `BasicComponent`

    - #### packetsReady

          public void packetsReady(IO serv)
                            throws IOException

      Method description
      Specified by:
        `packetsReady` in interface `IOServiceListener<IO extends XMPPIOService<?>>`
      Parameters:
        `serv` -
      Throws:
        `IOException`

    - #### processingInThreads

          public int processingInThreads()

      Method description
      Overrides:
        `processingInThreads` in class `AbstractMessageReceiver`
      Returns:
        a value of `int`

    - #### processingOutThreads

          public int processingOutThreads()

      Method description
      Overrides:
        `processingOutThreads` in class `AbstractMessageReceiver`
      Returns:
        a value of `int`

    - #### processPacket

          public void processPacket(Packet packet)

      Method description
      Specified by:
        `processPacket` in class `AbstractMessageReceiver`
      Parameters:
        `packet` -

    - #### processSocketData

          public abstract Queue<Packet> processSocketData(IO serv)

      Method description
      Parameters:
        `serv` -
      Returns:
        a value of `Queue`

    - #### reconnectionFailed

          public abstract void reconnectionFailed(Map<String,Object> port_props)

      Method description
      Parameters:
        `port_props` -

    - #### release

          public void release()

      Method description
      Specified by:
        `release` in interface `ServerComponent`
      Overrides:
        `release` in class `AbstractMessageReceiver`

    - #### serviceStarted

          @TODO(note="Do something if service with the same unique ID is already started, possibly kill the old one...")
          public void serviceStarted(IO service)

      Method description
      Parameters:
        `service` -

    - #### serviceStopped

          public boolean serviceStopped(IO service)

      Specified by:
        `serviceStopped` in interface `IOServiceListener<IO extends XMPPIOService<?>>`
      Parameters:
        `service` -
      Returns:
        a value of `boolean`

    - #### stop

          public void stop()

      Method description
      Overrides:
        `stop` in class `AbstractMessageReceiver`

    - #### updateConnectionDetails

          public void updateConnectionDetails(Map<String,Object> port_props)

      Method description
      Parameters:
        `port_props` -

    - #### writePacketsToSocket

          public void writePacketsToSocket(IO serv,
                                  Queue<Packet> packets)

      Method description
      Parameters:
        `serv` -
        `packets` -

    - #### writePacketToSocket

          public boolean writePacketToSocket(IO ios,
                                    Packet p)

      Method description
      Parameters:
        `ios` -
        `p` -
      Returns:
        a value of `boolean`

    - #### getDefaults

          public Map<String,Object> getDefaults(Map<String,Object> params)

      Method description
      Specified by:
        `getDefaults` in interface `Configurable`
      Overrides:
        `getDefaults` in class `AbstractMessageReceiver`
      Parameters:
        `params` -
      Returns:
        a value of `Map`

    - #### getStatistics

          public void getStatistics(StatisticsList list)

      Generates the component statistics.
      Specified by:
        `getStatistics` in interface `StatisticsContainer`
      Overrides:
        `getStatistics` in class `AbstractMessageReceiver`
      Parameters:
        `list` - is a collection to put the component statistics in.

    - #### getXMPPIOService

          public IO getXMPPIOService(String serviceId)

      Method description
      Parameters:
        `serviceId` -
      Returns:
        a value of `IO`

    - #### setName

          public void setName(String name)

      Method description
      Specified by:
        `setName` in interface `ServerComponent`
      Overrides:
        `setName` in class `AbstractMessageReceiver`
      Parameters:
        `name` -

    - #### setProperties

          public void setProperties(Map<String,Object> props)

      Method description
      Specified by:
        `setProperties` in interface `Configurable`
      Overrides:
        `setProperties` in class `AbstractMessageReceiver`
      Parameters:
        `props` -

    - #### addWaitingTask

          protected void addWaitingTask(Map<String,Object> conn)

      Method description
      Parameters:
        `conn` -

    - #### checkHighThroughputProperty

          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
      Type Parameters:
        `T` -
      Parameters:
        `ht_def_key` -
        `ht_dev_val` -
        `st_def_key` -
        `st_def_val` -
        `prop_key` -
        `prop_val_class` -
        `params` -
        `props` -

    - #### countIOServices

          protected int countIOServices()

      Returns number of active network connections (IOServices).
      Returns:
        number of active network connections (IOServices).

    - #### doForAllServices

          protected void doForAllServices(ServiceChecker<IO> checker)

      Perform a given action defined by ServiceChecker for all active IOService objects (active network connections).
      Parameters:
        `checker` - is a `ServiceChecker` instance defining an action to perform for all IOService objects.

    - #### writePacketToSocket

          protected boolean writePacketToSocket(Packet p)

      Parameters:
        `p` -
      Returns:
        a value of `boolean`

    - #### writePacketToSocket

          protected boolean writePacketToSocket(Packet p,
                                    String serviceId)

      Method description
      Parameters:
        `p` -
        `serviceId` -
      Returns:
        a value of `boolean`

    - #### writeRawData

          protected void writeRawData(IO ios,
                          String data)

      Method description
      Parameters:
        `ios` -
        `data` -

    - #### getDefPlainPorts

          protected int[] getDefPlainPorts()

      Method description
      Returns:
        a value of `int[]`

    - #### getDefSSLPorts

          protected int[] getDefSSLPorts()

      Method description
      Returns:
        a value of `int[]`

    - #### getDefTrafficThrottling

          protected String getDefTrafficThrottling()

      Method description
      Returns:
        a value of `String`

    - #### getMaxInactiveTime

          protected abstract long getMaxInactiveTime()

      Method description
      Returns:
        a value of `long`

    - #### getParamsForPort

          protected Map<String,Object> getParamsForPort(int port)

      Method description
      Parameters:
        `port` -
      Returns:
        a value of `Map`

    - #### getServiceId

          protected String getServiceId(Packet packet)

      Method description
      Parameters:
        `packet` -
      Returns:
        a value of `String`

    - #### getServiceId

          protected String getServiceId(tigase.xmpp.JID jid)

      Method description
      Parameters:
        `jid` -
      Returns:
        a value of `String`

    - #### getUniqueId

          protected String getUniqueId(IO serv)

      Method description
      Parameters:
        `serv` -
      Returns:
        a value of `String`

    - #### getXMPPIOService

          protected IO getXMPPIOService(Packet p)

      Method description
      Parameters:
        `p` -
      Returns:
        a value of `IO`

    - #### getXMPPIOServiceInstance

          protected abstract IO getXMPPIOServiceInstance()

      Method description
      Returns:
        a value of `IO`

    - #### isHighThroughput

          protected boolean isHighThroughput()

      Method description
      Returns:
        a value of `boolean`

    - #### isTlsWantClientAuthEnabled

          protected boolean isTlsWantClientAuthEnabled()

      Method description
      Returns:
        a value of `boolean`

Copyright © 2014 "Tigase, Inc.". All rights reserved.