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 final String`
  `AUTHENTICATION_TIMEOUT_PROP_KEY`
  `static final String`
  `CLOSE_ON_SEQUENCE_ERROR_PROP_KEY`
  `static final String`
  `EXTCOMP_BIND_HOSTNAMES`
  `static final String`
  `EXTCOMP_REPO_CLASS_PROP_KEY`
  `static final String`
  `EXTCOMP_REPO_CLASS_PROP_VAL`
  `static final String`
  `EXTCOMP_REPO_CLASS_PROPERTY`
  `static final String`
  `IDENTITY_TYPE_KEY`
  `static final String`
  `IDENTITY_TYPE_VAL`
  `static final String`
  `MAX_AUTH_ATTEMPTS_PROP_KEY`
  `static final String`
  `PACK_ROUTED_KEY`
  `static final String`
  `RETURN_SERVICE_DISCO_KEY`
  `static final 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, 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.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

  Modifier and Type
  Method
  Description
  `void`
  `authenticated(ComponentIOService serv)`
  `void`
  `authenticationFailed(ComponentIOService serv, Packet packet)`
  `void`
  `beforeUnregister()`
  Method called before bean unregister.
  `void`
  `bindHostname(String hostname, ComponentIOService serv)`
  `protected boolean`
  `enableServiceConnectedTimeout(ComponentIOService service)`
  `CompRepoItem`
  `getCompRepoItem(String hostname)`
  `protected String`
  `getDefTrafficThrottling()`
  `String`
  `getDiscoCategoryType()`
  Method returns component category type used for service discovery responses.
  `String`
  `getDiscoDescription()`
  Method returns description used for service discovery responses.
  `protected long`
  `getMaxInactiveTime()`
  `protected Integer`
  `getMaxQueueSize(int def)`
  `ExtProcessor`
  `getProcessor(String key)`
  `void`
  `getStatistics(StatisticsList list)`
  Method returns component statistics.
  `List<Element>`
  `getStreamFeatures(ComponentIOService serv)`
  `StreamOpenHandler`
  `getStreamOpenHandler(String xmlns)`
  `protected ComponentIOService`
  `getXMPPIOService(Packet p)`
  `protected ComponentIOService`
  `getXMPPIOServiceInstance()`
  `void`
  `initBindings(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)`
  `Queue<Packet>`
  `processSocketData(ComponentIOService serv)`
  `boolean`
  `processUndeliveredPacket(Packet packet, Long stamp, String errorMessage)`
  Processes undelivered packets
  `void`
  `reconnectionFailed(Map<String,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(String hostname, ComponentIOService serv)`
  `boolean`
  `writePacketToSocket(ComponentIOService ios, Packet p)`
  `void`
  `xmppStreamClosed(ComponentIOService serv)`
  `String[]`
  `xmppStreamOpened(ComponentIOService serv, Map<String,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, redeliverWaitingPackets, release, releaseListener, serviceConnected, setFlashCrossDomainPolicyFile, setName, setNet_buffer_limit, setProcessors, setTrafficThrottling, setupWatchdogThread, setWatchdogPingType, shouldRedeliverWaitingPackets, 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 Details

  - ### AUTHENTICATION_TIMEOUT_PROP_KEY

    public static final String AUTHENTICATION_TIMEOUT_PROP_KEY
    See Also:
      - Constant Field Values

  - ### CLOSE_ON_SEQUENCE_ERROR_PROP_KEY

    public static final String CLOSE_ON_SEQUENCE_ERROR_PROP_KEY
    See Also:
      - Constant Field Values

  - ### EXTCOMP_BIND_HOSTNAMES

    public static final String EXTCOMP_BIND_HOSTNAMES
    See Also:
      - Constant Field Values

  - ### EXTCOMP_REPO_CLASS_PROP_KEY

    public static final String EXTCOMP_REPO_CLASS_PROP_KEY
    See Also:
      - Constant Field Values

  - ### EXTCOMP_REPO_CLASS_PROP_VAL

    public static final String EXTCOMP_REPO_CLASS_PROP_VAL
    See Also:
      - Constant Field Values

  - ### EXTCOMP_REPO_CLASS_PROPERTY

    public static final String EXTCOMP_REPO_CLASS_PROPERTY
    See Also:
      - Constant Field Values

  - ### IDENTITY_TYPE_KEY

    public static final String IDENTITY_TYPE_KEY
    See Also:
      - Constant Field Values

  - ### IDENTITY_TYPE_VAL

    public static final String IDENTITY_TYPE_VAL
    See Also:
      - Constant Field Values

  - ### MAX_AUTH_ATTEMPTS_PROP_KEY

    public static final String MAX_AUTH_ATTEMPTS_PROP_KEY
    See Also:
      - Constant Field Values

  - ### PACK_ROUTED_KEY

    public static final String PACK_ROUTED_KEY
    See Also:
      - Constant Field Values

  - ### RETURN_SERVICE_DISCO_KEY

    public static final 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 Details

  - ### ComponentProtocol

    public ComponentProtocol()

- ## Method Details

  - ### 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(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(String hostname)
    Specified by:
      `getCompRepoItem` in interface `ComponentProtocolHandler`

  - ### getDiscoCategoryType

    public 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 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(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 List<Element> getStreamFeatures(ComponentIOService serv)
    Specified by:
      `getStreamFeatures` in interface `ComponentProtocolHandler`

  - ### getStreamOpenHandler

    public StreamOpenHandler getStreamOpenHandler(String xmlns)
    Specified by:
      `getStreamOpenHandler` in interface `ComponentProtocolHandler`

  - ### initBindings

    public void initBindings(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 Queue<Packet> processSocketData(ComponentIOService serv)
    Specified by:
      `processSocketData` in class `ConnectionManager<ComponentIOService>`

  - ### processUndeliveredPacket

    public boolean processUndeliveredPacket(Packet packet, Long stamp, 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(Map<String,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(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 String[] xmppStreamOpened(ComponentIOService serv, Map<String,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 String getDefTrafficThrottling()
    Overrides:
      `getDefTrafficThrottling` in class `ConnectionManager<ComponentIOService>`

  - ### getMaxInactiveTime

    protected long getMaxInactiveTime()
    Specified by:
      `getMaxInactiveTime` in class `ConnectionManager<ComponentIOService>`

  - ### getMaxQueueSize

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