tigase.server.xmppclient

## Class ClientConnectionManager

- java.lang.Object
- - tigase.server.BasicComponent
  - - tigase.server.AbstractMessageReceiver
    - - tigase.server.ConnectionManager<XMPPIOService<Object>>
      - - tigase.server.xmppclient.ClientConnectionManager

- All Implemented Interfaces:
    ClusteredComponentIfc, Configurable, XMPPService, IOServiceListener<XMPPIOService<Object>>, MessageReceiver, ServerComponent, StatisticsContainer, StatisticsContainerIfc, VHostListener, XMPPIOServiceListener<XMPPIOService<Object>>
  Direct Known Subclasses:
    BoshConnectionManager, ClientConnectionClustered, WebSocketClientConnectionManager

      public class ClientConnectionManager
      extends ConnectionManager<XMPPIOService<Object>>

  Class ClientConnectionManager Created: Tue Nov 22 07:07:11 2005
  Version:
    $Rev$
  Author:
    Artur Hefczyc

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class tigase.server.ConnectionManager

      `ConnectionManager.LIMIT_ACTION, ConnectionManager.Watchdog, ConnectionManager.WATCHDOG_PING_TYPE`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected static String` | `FORCE_REDIRECT_TO_KEY`
    `protected RoutingsContainer` | `routings` Field description
    `protected SeeOtherHostIfc` | `see_other_host_strategy` Field description

    - ### 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, 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_LISTENING_DELAY_DEF, PORT_LISTENING_DELAY_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, processors, 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`

    - ### 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, 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_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, 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, 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
    `ClientConnectionManager()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected JID` | `changeDataReceiver(Packet packet, JID newAddress, String command_sessionId, XMPPIOService<Object> serv)` Method description
    `ClientTrustManagerFactory` | `getClientTrustManagerFactory()`
    `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 ReceiverTimeoutHandler` | `newStartedHandler()` Method description
    `protected ReceiverTimeoutHandler` | `newStoppedHandler()` Method description
    `protected String` | `prepareSeeOtherHost(XMPPIOService<Object> serv, String hostname, BareJID see_other_host)`
    `protected String` | `prepareStreamClose(XMPPIOService<Object> serv)`
    `protected String` | `prepareStreamError(XMPPIOService<Object> serv, List<Element> err_el)`
    `protected String` | `prepareStreamError(XMPPIOService<Object> serv, StreamError streamError, String hostname)`
    `protected String` | `prepareStreamOpen(XMPPIOService<Object> serv, String id, String hostname)`
    `protected void` | `preprocessStreamFeatures(XMPPIOService<Object> serv, 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, Long stamp, 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.
    `protected void` | `socketAccepted(XMPPIOService serv, SocketType type)`
    `void` | `start()`
    `void` | `stop()` Method description
    `void` | `tlsHandshakeCompleted(XMPPIOService<Object> serv)`
    `void` | `xmppStreamClosed(XMPPIOService<Object> serv)`
    `String` | `xmppStreamError(XMPPIOService<Object> serv, List<Element> err_el)`
    `String` | `xmppStreamOpened(XMPPIOService<Object> serv, Map<String,String> attribs)`

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

      `addWaitingTask, checkHighThroughputProperty, checkTrafficLimits, connectWaitingTasks, countIOServices, doForAllServices, everyMinute, getDefTrafficThrottling, getParamsForPort, getServiceId, getServiceId, getStatistics, getUniqueId, getXMPPIOService, getXMPPIOService, initBindings, initializationCompleted, isHighThroughput, newWatchdog, packetsReady, processingInThreads, processingOutThreads, release, setName, setupWatchdogThread, updateConnectionDetails, writePacketsToSocket, writePacketToSocket, writePacketToSocket, writePacketToSocket, writeRawData`

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

      `addOutPacket, addOutPacketNB, addOutPackets, addOutPacketWithTimeout, addPacket, addPacketNB, addPackets, addRegexRouting, addTimerTask, addTimerTask, addTimerTask, addTimerTask, addTimerTask, addTimerTaskWithTimeout, addTimerTaskWithTimeout, clearRegexRoutings, everyHour, everySecond, getRegexRoutings, isInRegexRoutings, newPacketId, processingThreads, processOutPacket, processPacket, removeRegexRouting, schedulerThreads, setMaxQueueSize, setParent`

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

      `addComponentDomain, canCallCommand, checkCommandAcl, getComponentId, getComponentInfo, getDefHostName, getDefVHostItem, getDiscoCategory, getDiscoFeatures, getDiscoFeatures, getDiscoInfo, getDiscoInfo, getDiscoItems, getDiscoItems, getName, getNodesConnected, getNodesConnectedWithLocal, getScriptCommands, getScriptItems, getServiceEntity, getVHostItem, handlesLocalDomains, handlesNameSubdomains, handlesNonLocalDomains, isAdmin, isInitializationComplete, isLocalDomain, isLocalDomainOrComponent, isNonAdminCommands, isSubdomain, isTrusted, isTrusted, nodeConnected, nodeDisconnected, onNodeConnected, onNodeDisconnected, processScriptCommand, removeComponentDomain, removeServiceDiscoveryItem, setClusterController, 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.stats.StatisticsContainerIfc

      `getName`

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

      `getDefHostName`

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

      `getComponentId, getComponentInfo, getName, isInitializationComplete`

- - ### Field Detail

    - #### FORCE_REDIRECT_TO_KEY

          protected static final String FORCE_REDIRECT_TO_KEY

      See Also:
        Constant Field Values

    - #### routings

          protected RoutingsContainer routings

      Field description

    - #### see_other_host_strategy

          protected SeeOtherHostIfc see_other_host_strategy

      Field description

  - ### Constructor Detail

    - #### ClientConnectionManager

          public ClientConnectionManager()

  - ### Method Detail

    - #### changeDataReceiver

          protected JID changeDataReceiver(Packet packet,
                                           JID newAddress,
                                           String command_sessionId,
                                           XMPPIOService<Object> serv)

      Method description
      Parameters:
        `packet` -
        `newAddress` -
        `command_sessionId` -
        `serv` -
      Returns:
        a value of `JID`

    - #### getClientTrustManagerFactory

          public ClientTrustManagerFactory getClientTrustManagerFactory()

    - #### getDefPlainPorts

          protected int[] getDefPlainPorts()

      Description copied from class: `ConnectionManager`
      Method description
      Overrides:
        `getDefPlainPorts` in class `ConnectionManager<XMPPIOService<Object>>`
      Returns:
        a value of `int[]`

    - #### getDefSSLPorts

          protected int[] getDefSSLPorts()

      Description copied from class: `ConnectionManager`
      Method description
      Overrides:
        `getDefSSLPorts` in class `ConnectionManager<XMPPIOService<Object>>`
      Returns:
        a value of `int[]`

    - #### getDefaults

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

      Description copied from class: `AbstractMessageReceiver`
      Returns default configuration settings for the component as a `Map` 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`.
      Specified by:
        `getDefaults` in interface `Configurable`
      Overrides:
        `getDefaults` in class `ConnectionManager<XMPPIOService<Object>>`
      Parameters:
        `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.
      Returns:
        a `Map` with the component default configuration.

    - #### getDiscoCategoryType

          public String getDiscoCategoryType()

      Description copied from class: `BasicComponent`
      Method description
      Overrides:
        `getDiscoCategoryType` in class `BasicComponent`
      Returns:
        a value of `String`

    - #### getDiscoDescription

          public String getDiscoDescription()

      Description copied from class: `BasicComponent`
      Method description
      Overrides:
        `getDiscoDescription` in class `BasicComponent`
      Returns:
        a value of `String`

    - #### getMaxInactiveTime

          protected long getMaxInactiveTime()

      Method description

      Let's assume user should send something at least once every 24 hours....

      Specified by:
        `getMaxInactiveTime` in class `ConnectionManager<XMPPIOService<Object>>`
      Returns:
        a value of `long`

    - #### getMaxQueueSize

          protected Integer getMaxQueueSize(int def)

      Description copied from class: `AbstractMessageReceiver`
      Method description
      Overrides:
        `getMaxQueueSize` in class `AbstractMessageReceiver`
      Returns:
        a value of `Integer`

    - #### getSeeOtherHostInstance

          public SeeOtherHostIfc getSeeOtherHostInstance(String see_other_host_class)

      Method retrieves object of particular class implementing `SeeOtherHostIfc`
      Parameters:
        `see_other_host_class` - class of `SeeOtherHostIfc` implementation
      Returns:
        a value of `SeeOtherHostIfc`

    - #### getXMPPIOServiceInstance

          protected XMPPIOService<Object> getXMPPIOServiceInstance()

      Description copied from class: `ConnectionManager`
      Method description
      Specified by:
        `getXMPPIOServiceInstance` in class `ConnectionManager<XMPPIOService<Object>>`
      Returns:
        a value of `IO`

    - #### hashCodeForPacket

          public int hashCodeForPacket(Packet packet)

      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 class `ConnectionManager<XMPPIOService<Object>>`
      Parameters:
        `packet` - is a `Packet` which needs to be processed by some thread.
      Returns:
        a hash code generated for the input thread.

    - #### isAllowed

          protected boolean isAllowed(XMPPIOService<Object> serv,
                                      String hostname)

    - #### newStartedHandler

          protected ReceiverTimeoutHandler newStartedHandler()

      Method description
      Returns:
        a value of `ReceiverTimeoutHandler`

    - #### newStoppedHandler

          protected ReceiverTimeoutHandler newStoppedHandler()

      Method description
      Returns:
        a value of `ReceiverTimeoutHandler`

    - #### prepareSeeOtherHost

          protected String prepareSeeOtherHost(XMPPIOService<Object> serv,
                                               String hostname,
                                               BareJID see_other_host)

    - #### prepareStreamClose

          protected String prepareStreamClose(XMPPIOService<Object> serv)

    - #### prepareStreamError

          protected String prepareStreamError(XMPPIOService<Object> serv,
                                              List<Element> err_el)

    - #### prepareStreamError

          protected String prepareStreamError(XMPPIOService<Object> serv,
                                              StreamError streamError,
                                              String hostname)

    - #### prepareStreamOpen

          protected String prepareStreamOpen(XMPPIOService<Object> serv,
                                             String id,
                                             String hostname)

    - #### preprocessStreamFeatures

          protected void preprocessStreamFeatures(XMPPIOService<Object> serv,
                                                  Element elem_features)

    - #### processCommand

          protected void processCommand(Packet packet)

      Method description
      Parameters:
        `packet` -

    - #### processPacket

          public void processPacket(Packet packet)

      Description copied from class: `AbstractMessageReceiver`
      This is the main `Packet` 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, the `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.
      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 using `addOutPacket(Packet)` method.
      Overrides:
        `processPacket` in class `ConnectionManager<XMPPIOService<Object>>`
      Parameters:
        `packet` - is an instance of the `Packet` class passed for processing.

    - #### processSocketData

          public Queue<Packet> processSocketData(XMPPIOService<Object> serv)

      Description copied from class: `ConnectionManager`
      Method description
      Specified by:
        `processSocketData` in class `ConnectionManager<XMPPIOService<Object>>`
      Returns:
        a value of `Queue<Packet>`

    - #### processUndeliveredPacket

          public boolean processUndeliveredPacket(Packet packet,
                                                  Long stamp,
                                                  String errorMessage)

      Description copied from class: `ConnectionManager`
      Processes undelivered packets
      Specified by:
        `processUndeliveredPacket` in class `ConnectionManager<XMPPIOService<Object>>`
        `stamp` - - timestamp when packet was received to be written to XMPPIOService

    - #### reconnectionFailed

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

      Description copied from class: `ConnectionManager`
      Method description
      Specified by:
        `reconnectionFailed` in class `ConnectionManager<XMPPIOService<Object>>`

    - #### serviceStarted

          public void serviceStarted(XMPPIOService<Object> service)

      Description copied from class: `ConnectionManager`
      Method description
      Overrides:
        `serviceStarted` in class `ConnectionManager<XMPPIOService<Object>>`

    - #### serviceStopped

          public boolean serviceStopped(XMPPIOService<Object> service)

      Specified by:
        `serviceStopped` in interface `IOServiceListener<XMPPIOService<Object>>`
      Overrides:
        `serviceStopped` in class `ConnectionManager<XMPPIOService<Object>>`

    - #### setProperties

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

      Description copied from interface: `Configurable`
      Sets all configuration properties for the object.
      Specified by:
        `setProperties` in interface `Configurable`
      Overrides:
        `setProperties` in class `ConnectionManager<XMPPIOService<Object>>`
      Parameters:
        `props` - `Map` with the configuration
      Throws:
        `ConfigurationException` - - if setting configuration will fail which will make it unable to work

    - #### socketAccepted

          protected void socketAccepted(XMPPIOService serv,
                                        SocketType type)

      Overrides:
        `socketAccepted` in class `ConnectionManager<XMPPIOService<Object>>`

    - #### start

          public void start()

      Specified by:
        `start` in interface `MessageReceiver`
      Overrides:
        `start` in class `AbstractMessageReceiver`

    - #### stop

          public void stop()

      Description copied from class: `AbstractMessageReceiver`
      Method description
      Overrides:
        `stop` in class `ConnectionManager<XMPPIOService<Object>>`

    - #### tlsHandshakeCompleted

          public void tlsHandshakeCompleted(XMPPIOService<Object> serv)

    - #### xmppStreamClosed

          public void xmppStreamClosed(XMPPIOService<Object> serv)

    - #### xmppStreamError

          public String xmppStreamError(XMPPIOService<Object> serv,
                                        List<Element> err_el)

      Specified by:
        `xmppStreamError` in interface `XMPPIOServiceListener<XMPPIOService<Object>>`
      Overrides:
        `xmppStreamError` in class `ConnectionManager<XMPPIOService<Object>>`

    - #### xmppStreamOpened

          public String xmppStreamOpened(XMPPIOService<Object> serv,
                                         Map<String,String> attribs)

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