Package tigase.server.ext

## Class ComponentProtocol

- java.lang.Object
- - tigase.server.BasicComponent
  - - tigase.server.AbstractMessageReceiver
    - - tigase.server.ConnectionManager<ComponentIOService>
      - - tigase.server.ext.ComponentProtocol

- All Implemented Interfaces:
    `ClusteredComponentIfc`, `Configurable`, `RepositoryChangeListenerIfc<CompRepoItem>`, `XMPPService`, `ConfigurationChangedAware`, `Initializable`, `RegistrarBean`, `UnregisterAware`, `IOServiceListener<ComponentIOService>`, `ComponentProtocolHandler`, `MessageReceiver`, `PacketWriterWithTimeout`, `ServerComponent`, `StatisticsContainer`, `StatisticsContainerIfc`, `VHostListener`, `XMPPIOServiceListener<ComponentIOService>`

      @Bean(name="ext",
            parent=Kernel.class,
            active=false)
      public class ComponentProtocol
      extends ConnectionManager<ComponentIOService>
      implements ComponentProtocolHandler, UnregisterAware, RepositoryChangeListenerIfc<CompRepoItem>

  Created: Sep 30, 2009 8:28:13 PM
  Author:
    Artur Hefczyc

- - ### Nested Class Summary

    - ### Nested 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

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static java.lang.String` | `AUTHENTICATION_TIMEOUT_PROP_KEY` |
    `static java.lang.String` | `CLOSE_ON_SEQUENCE_ERROR_PROP_KEY` |
    `static java.lang.String` | `EXTCOMP_BIND_HOSTNAMES` |
    `static java.lang.String` | `EXTCOMP_REPO_CLASS_PROP_KEY` |
    `static java.lang.String` | `EXTCOMP_REPO_CLASS_PROP_VAL` |
    `static java.lang.String` | `EXTCOMP_REPO_CLASS_PROPERTY` |
    `static java.lang.String` | `IDENTITY_TYPE_KEY` |
    `static java.lang.String` | `IDENTITY_TYPE_VAL` |
    `static java.lang.String` | `MAX_AUTH_ATTEMPTS_PROP_KEY` |
    `static java.lang.String` | `PACK_ROUTED_KEY` |
    `static java.lang.String` | `RETURN_SERVICE_DISCO_KEY` |
    `static boolean` | `RETURN_SERVICE_DISCO_VAL` |

    - ### 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, 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.server.ext.ComponentProtocolHandler

      `EXTCOMP_BIND_HOSTNAMES_PROP_KEY, REPO_ITEM_KEY`

    - ### 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
    Constructor | Description
    --- | ---
    `ComponentProtocol()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `authenticated​(ComponentIOService serv)` |
    `void` | `authenticationFailed​(ComponentIOService serv, Packet packet)` |
    `void` | `beforeUnregister()` | Method called before bean unregister.
    `void` | `bindHostname​(java.lang.String hostname, ComponentIOService serv)` |
    `protected boolean` | `enableServiceConnectedTimeout​(ComponentIOService service)` |
    `CompRepoItem` | `getCompRepoItem​(java.lang.String hostname)` |
    `protected java.lang.String` | `getDefTrafficThrottling()` |
    `java.lang.String` | `getDiscoCategoryType()` | Method returns component category type used for service discovery responses.
    `java.lang.String` | `getDiscoDescription()` | Method returns description used for service discovery responses.
    `protected long` | `getMaxInactiveTime()` |
    `protected java.lang.Integer` | `getMaxQueueSize​(int def)` |
    `ExtProcessor` | `getProcessor​(java.lang.String key)` |
    `void` | `getStatistics​(StatisticsList list)` | Method returns component statistics.
    `java.util.List<Element>` | `getStreamFeatures​(ComponentIOService serv)` |
    `StreamOpenHandler` | `getStreamOpenHandler​(java.lang.String xmlns)` |
    `protected ComponentIOService` | `getXMPPIOService​(Packet p)` |
    `protected ComponentIOService` | `getXMPPIOServiceInstance()` |
    `void` | `initBindings​(javax.script.Bindings binds)` | Initialize a mapping of key/value pairs which can be used in scripts loaded by the server
    `void` | `initialize()` | Method will be called, when bean will be created, configured and ready to use.
    `protected boolean` | `isHighThroughput()` |
    `void` | `itemAdded​(CompRepoItem repoItem)` |
    `void` | `itemRemoved​(CompRepoItem item)` |
    `void` | `itemUpdated​(CompRepoItem item)` |
    `java.util.Queue<Packet>` | `processSocketData​(ComponentIOService serv)` |
    `boolean` | `processUndeliveredPacket​(Packet packet, java.lang.Long stamp, java.lang.String errorMessage)` | Processes undelivered packets
    `void` | `reconnectionFailed​(java.util.Map<java.lang.String,​java.lang.Object> port_props)` |
    `void` | `register​(Kernel kernel)` | Method called when bean is being registered allowing developer to programatically register other beans.
    `void` | `serviceStarted​(ComponentIOService serv)` |
    `boolean` | `serviceStopped​(ComponentIOService service)` |
    `void` | `setRepo​(ComponentRepository<CompRepoItem> repo)` |
    `void` | `start()` |
    `void` | `tlsHandshakeCompleted​(ComponentIOService service)` |
    `void` | `unbindHostname​(java.lang.String hostname, ComponentIOService serv)` |
    `boolean` | `writePacketToSocket​(ComponentIOService ios, Packet p)` |
    `void` | `xmppStreamClosed​(ComponentIOService serv)` |
    `java.lang.String[]` | `xmppStreamOpened​(ComponentIOService serv, java.util.Map<java.lang.String,​java.lang.String> attribs)` |

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

      `addWaitingTask, beanConfigurationChanged, checkHighThroughputProperty, checkTrafficLimits, connectWaitingTasks, countIOServices, doForAllServices, everyMinute, getDefPlainPorts, getDefPorts, getDefSSLPorts, getFlashCrossDomainPolicy, getNet_buffer_limit, getParamsForPort, getPortsConfigBean, getServiceId, getServiceId, getTrafficThrottling, getUniqueId, getXMPPIOService, hashCodeForPacket, initializationCompleted, newWatchdog, packetsReady, processingInThreads, processingOutThreads, processPacket, release, releaseListener, serviceConnected, setFlashCrossDomainPolicyFile, setName, setNet_buffer_limit, setProcessors, setTrafficThrottling, setupWatchdogThread, socketAccepted, startService, stop, unregister, updateConnectionDetails, writePacketsToSocket, writePacketToSocket, writePacketToSocket, writeRawData, xmppStreamError`

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

      `addOutPacket, addOutPacketNB, addOutPackets, addOutPacketWithTimeout, addOutPacketWithTimeout, addPacket, addPacketNB, addPackets, addRegexRouting, addTimerTask, addTimerTask, addTimerTask, addTimerTaskWithTimeout, addTimerTaskWithTimeout, clearRegexRoutings, everyHour, everySecond, getRegexRoutings, getResourceForPacketWithTimeout, isInRegexRoutings, newPacketId, processOutPacket, processPacket, removeRegexRouting, schedulerThreads, 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, handlesNonLocalDomains, 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.ext.ComponentProtocolHandler

      `newPacketId`

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

      `getDefHostName`

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

      `getComponentId, getComponentInfo, getName, isInitializationComplete`

    - ### Methods inherited from interface tigase.stats.StatisticsContainerIfc

      `getName`

- - ### Field Detail

    - #### AUTHENTICATION_TIMEOUT_PROP_KEY

          public static final java.lang.String AUTHENTICATION_TIMEOUT_PROP_KEY

      See Also:
        Constant Field Values

    - #### CLOSE_ON_SEQUENCE_ERROR_PROP_KEY

          public static final java.lang.String CLOSE_ON_SEQUENCE_ERROR_PROP_KEY

      See Also:
        Constant Field Values

    - #### EXTCOMP_BIND_HOSTNAMES

          public static final java.lang.String EXTCOMP_BIND_HOSTNAMES

      See Also:
        Constant Field Values

    - #### EXTCOMP_REPO_CLASS_PROP_KEY

          public static final java.lang.String EXTCOMP_REPO_CLASS_PROP_KEY

      See Also:
        Constant Field Values

    - #### EXTCOMP_REPO_CLASS_PROP_VAL

          public static final java.lang.String EXTCOMP_REPO_CLASS_PROP_VAL

      See Also:
        Constant Field Values

    - #### EXTCOMP_REPO_CLASS_PROPERTY

          public static final java.lang.String EXTCOMP_REPO_CLASS_PROPERTY

      See Also:
        Constant Field Values

    - #### IDENTITY_TYPE_KEY

          public static final java.lang.String IDENTITY_TYPE_KEY

      See Also:
        Constant Field Values

    - #### IDENTITY_TYPE_VAL

          public static final java.lang.String IDENTITY_TYPE_VAL

      See Also:
        Constant Field Values

    - #### MAX_AUTH_ATTEMPTS_PROP_KEY

          public static final java.lang.String MAX_AUTH_ATTEMPTS_PROP_KEY

      See Also:
        Constant Field Values

    - #### PACK_ROUTED_KEY

          public static final java.lang.String PACK_ROUTED_KEY

      See Also:
        Constant Field Values

    - #### RETURN_SERVICE_DISCO_KEY

          public static final java.lang.String RETURN_SERVICE_DISCO_KEY

      See Also:
        Constant Field Values

    - #### RETURN_SERVICE_DISCO_VAL

          public static final boolean RETURN_SERVICE_DISCO_VAL

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### ComponentProtocol

          public ComponentProtocol()

  - ### Method Detail

    - #### authenticated

          public void authenticated​(ComponentIOService serv)

      Specified by:
        `authenticated` in interface `ComponentProtocolHandler`

    - #### authenticationFailed

          public void authenticationFailed​(ComponentIOService serv,
                                           Packet packet)

      Specified by:
        `authenticationFailed` in interface `ComponentProtocolHandler`

    - #### bindHostname

          public void bindHostname​(java.lang.String hostname,
                                   ComponentIOService serv)

      Specified by:
        `bindHostname` in interface `ComponentProtocolHandler`

    - #### enableServiceConnectedTimeout

          protected boolean enableServiceConnectedTimeout​(ComponentIOService service)

      Overrides:
        `enableServiceConnectedTimeout` in class `ConnectionManager<ComponentIOService>`

    - #### getCompRepoItem

          public CompRepoItem getCompRepoItem​(java.lang.String hostname)

      Specified by:
        `getCompRepoItem` in interface `ComponentProtocolHandler`

    - #### getDiscoCategoryType

          public java.lang.String getDiscoCategoryType()

      Description copied from class: `BasicComponent`
      Method returns component category type used for service discovery responses.
      Overrides:
        `getDiscoCategoryType` in class `BasicComponent`
      Returns:
        category type of a component

    - #### getDiscoDescription

          public java.lang.String getDiscoDescription()

      Description copied from class: `BasicComponent`
      Method returns description used for service discovery responses.
      Overrides:
        `getDiscoDescription` in class `BasicComponent`
      Returns:
        description of a component

    - #### getProcessor

          public ExtProcessor getProcessor​(java.lang.String key)

      Specified by:
        `getProcessor` in interface `ComponentProtocolHandler`

    - #### getStatistics

          public void getStatistics​(StatisticsList list)

      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 have `Level.FINEST` assigned and must be put inside the level guard to prevent generating them by the system monitor. The system monitor does not collect `FINEST` 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 interface `StatisticsContainerIfc`
      Overrides:
        `getStatistics` in class `ConnectionManager<ComponentIOService>`
      Parameters:
        `list` - is a `StatistcsList` where all statistics are stored.

    - #### getStreamFeatures

          public java.util.List<Element> getStreamFeatures​(ComponentIOService serv)

      Specified by:
        `getStreamFeatures` in interface `ComponentProtocolHandler`

    - #### getStreamOpenHandler

          public StreamOpenHandler getStreamOpenHandler​(java.lang.String xmlns)

      Specified by:
        `getStreamOpenHandler` in interface `ComponentProtocolHandler`

    - #### initBindings

          public void initBindings​(javax.script.Bindings binds)

      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 class `ConnectionManager<ComponentIOService>`
      Parameters:
        `binds` - A mapping of key/value pairs, all of whose keys are Strings.

    - #### register

          public void register​(Kernel kernel)

      Description copied from interface: `RegistrarBean`
      Method called when bean is being registered allowing developer to programatically register other beans.
      Specified by:
        `register` in interface `RegistrarBean`
      Overrides:
        `register` in class `ConnectionManager<ComponentIOService>`
      Parameters:
        `kernel` - - instance from local scope

    - #### initialize

          public void initialize()

      Description copied from interface: `Initializable`
      Method will be called, when bean will be created, configured and ready to use.
      Specified by:
        `initialize` in interface `Initializable`
      Overrides:
        `initialize` in class `BasicComponent`

    - #### beforeUnregister

          public void beforeUnregister()

      Description copied from interface: `UnregisterAware`
      Method called before bean unregister.
      Specified by:
        `beforeUnregister` in interface `UnregisterAware`

    - #### processSocketData

          public java.util.Queue<Packet> processSocketData​(ComponentIOService serv)

      Specified by:
        `processSocketData` in class `ConnectionManager<ComponentIOService>`

    - #### processUndeliveredPacket

          public boolean processUndeliveredPacket​(Packet packet,
                                                  java.lang.Long stamp,
                                                  java.lang.String errorMessage)

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

    - #### reconnectionFailed

          public void reconnectionFailed​(java.util.Map<java.lang.String,​java.lang.Object> port_props)

      Specified by:
        `reconnectionFailed` in class `ConnectionManager<ComponentIOService>`

    - #### serviceStarted

          public void serviceStarted​(ComponentIOService serv)

      Overrides:
        `serviceStarted` in class `ConnectionManager<ComponentIOService>`

    - #### serviceStopped

          public boolean serviceStopped​(ComponentIOService service)

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

    - #### setRepo

          public void setRepo​(ComponentRepository<CompRepoItem> repo)

    - #### start

          public void start()

      Specified by:
        `start` in interface `MessageReceiver`
      Overrides:
        `start` in class `ConnectionManager<ComponentIOService>`

    - #### tlsHandshakeCompleted

          public void tlsHandshakeCompleted​(ComponentIOService service)

      Specified by:
        `tlsHandshakeCompleted` in interface `IOServiceListener<ComponentIOService>`

    - #### unbindHostname

          public void unbindHostname​(java.lang.String hostname,
                                     ComponentIOService serv)

      Specified by:
        `unbindHostname` in interface `ComponentProtocolHandler`

    - #### writePacketToSocket

          public boolean writePacketToSocket​(ComponentIOService ios,
                                             Packet p)

      Overrides:
        `writePacketToSocket` in class `ConnectionManager<ComponentIOService>`

    - #### xmppStreamClosed

          public void xmppStreamClosed​(ComponentIOService serv)

      Specified by:
        `xmppStreamClosed` in interface `XMPPIOServiceListener<ComponentIOService>`

    - #### xmppStreamOpened

          public java.lang.String[] xmppStreamOpened​(ComponentIOService serv,
                                                     java.util.Map<java.lang.String,​java.lang.String> attribs)

      Specified by:
        `xmppStreamOpened` in interface `XMPPIOServiceListener<ComponentIOService>`

    - #### itemAdded

          public void itemAdded​(CompRepoItem repoItem)

      Specified by:
        `itemAdded` in interface `RepositoryChangeListenerIfc<CompRepoItem>`

    - #### itemUpdated

          public void itemUpdated​(CompRepoItem item)

      Specified by:
        `itemUpdated` in interface `RepositoryChangeListenerIfc<CompRepoItem>`

    - #### itemRemoved

          public void itemRemoved​(CompRepoItem item)

      Specified by:
        `itemRemoved` in interface `RepositoryChangeListenerIfc<CompRepoItem>`

    - #### getDefTrafficThrottling

          protected java.lang.String getDefTrafficThrottling()

      Overrides:
        `getDefTrafficThrottling` in class `ConnectionManager<ComponentIOService>`

    - #### getMaxInactiveTime

          protected long getMaxInactiveTime()

      Specified by:
        `getMaxInactiveTime` in class `ConnectionManager<ComponentIOService>`

    - #### getMaxQueueSize

          protected java.lang.Integer getMaxQueueSize​(int def)

      Overrides:
        `getMaxQueueSize` in class `AbstractMessageReceiver`

    - #### getXMPPIOService

          protected ComponentIOService getXMPPIOService​(Packet p)

      Overrides:
        `getXMPPIOService` in class `ConnectionManager<ComponentIOService>`

    - #### getXMPPIOServiceInstance

          protected ComponentIOService getXMPPIOServiceInstance()

      Specified by:
        `getXMPPIOServiceInstance` in class `ConnectionManager<ComponentIOService>`

    - #### isHighThroughput

          protected boolean isHighThroughput()

      Overrides:
        `isHighThroughput` in class `ConnectionManager<ComponentIOService>`