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:
    Configurable, XMPPService, IOServiceListener<ComponentIOService>, ComponentProtocolHandler, MessageReceiver, ServerComponent, StatisticsContainer, VHostListener, XMPPIOServiceListener<ComponentIOService>

      public class ComponentProtocol
      extends ConnectionManager<ComponentIOService>
      implements ComponentProtocolHandler

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

- - ### Nested Class Summary

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

      `ConnectionManager.LIMIT_ACTION`

  - ### Field Summary

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

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

      `connectionDelay, 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_PROP_KEY, NET_BUFFER_ST_PROP_KEY, NET_BUFFER_ST_PROP_VAL, PORT_CLASS_PROP_KEY, PORT_IFC_PROP_KEY, PORT_IFC_PROP_VAL, PORT_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, 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, 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, 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.server.ext.ComponentProtocolHandler

      `EXTCOMP_BIND_HOSTNAMES_PROP_KEY, REPO_ITEM_KEY`

    - ### 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, 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
    `ComponentProtocol()` Constructs ...

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `authenticated(ComponentIOService serv)` Method description
    `void` | `authenticationFailed(ComponentIOService serv, Packet packet)` Method description
    `void` | `bindHostname(String hostname, ComponentIOService serv)` Method description
    `CompRepoItem` | `getCompRepoItem(String hostname)` Method description
    `Map<String,Object>` | `getDefaults(Map<String,Object> params)` Method description
    `protected String` | `getDefTrafficThrottling()` Method description
    `String` | `getDiscoCategoryType()` Method description
    `String` | `getDiscoDescription()` Method description
    `protected long` | `getMaxInactiveTime()` Method description
    `protected Integer` | `getMaxQueueSize(int def)` Method description
    `ExtProcessor` | `getProcessor(String key)` Method description
    `void` | `getStatistics(StatisticsList list)` Method description
    `List<tigase.xml.Element>` | `getStreamFeatures(ComponentIOService serv)` Method description
    `StreamOpenHandler` | `getStreamOpenHandler(String xmlns)` Method description
    `protected ComponentIOService` | `getXMPPIOService(Packet p)` Method description
    `protected ComponentIOService` | `getXMPPIOServiceInstance()` Method description
    `void` | `initBindings(Bindings binds)` Method description
    `protected boolean` | `isHighThroughput()` Method description
    `Queue<Packet>` | `processSocketData(ComponentIOService serv)` Method description
    `void` | `reconnectionFailed(Map<String,Object> port_props)` Method description
    `void` | `serviceStarted(ComponentIOService serv)` Method description
    `boolean` | `serviceStopped(ComponentIOService service)` Method description
    `void` | `setProperties(Map<String,Object> properties)` Method description
    `void` | `tlsHandshakeCompleted(ComponentIOService service)` Method description
    `void` | `unbindHostname(String hostname, ComponentIOService serv)` Method description
    `boolean` | `writePacketToSocket(ComponentIOService ios, Packet p)` Method description
    `void` | `xmppStreamClosed(ComponentIOService serv)` Method description
    `String` | `xmppStreamOpened(ComponentIOService serv, Map<String,String> attribs)` Method description

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

      `addWaitingTask, checkHighThroughputProperty, checkTrafficLimits, countIOServices, doForAllServices, everyMinute, getDefPlainPorts, getDefSSLPorts, getParamsForPort, getServiceId, getServiceId, getUniqueId, getXMPPIOService, hashCodeForPacket, initializationCompleted, isTlsWantClientAuthEnabled, packetsReady, processingInThreads, processingOutThreads, processPacket, release, setName, stop, updateConnectionDetails, writePacketsToSocket, writePacketToSocket, writePacketToSocket, writeRawData`

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

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

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

      `addComponentDomain, canCallCommand, checkCommandAcl, getComponentId, getDefHostName, getDefVHostItem, getDiscoCategory, 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`

    - ### 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, getName, isInitializationComplete`

- - ### Field Detail

    - #### AUTHENTICATION_TIMEOUT_PROP_KEY

          public static final String AUTHENTICATION_TIMEOUT_PROP_KEY

      Field description
      See Also:
        Constant Field Values

    - #### CLOSE_ON_SEQUENCE_ERROR_PROP_KEY

          public static final String CLOSE_ON_SEQUENCE_ERROR_PROP_KEY

      Field description
      See Also:
        Constant Field Values

    - #### EXTCOMP_BIND_HOSTNAMES

          public static final String EXTCOMP_BIND_HOSTNAMES

      Field description
      See Also:
        Constant Field Values

    - #### EXTCOMP_REPO_CLASS_PROP_KEY

          public static final String EXTCOMP_REPO_CLASS_PROP_KEY

      Field description
      See Also:
        Constant Field Values

    - #### EXTCOMP_REPO_CLASS_PROP_VAL

          public static final String EXTCOMP_REPO_CLASS_PROP_VAL

      Field description
      See Also:
        Constant Field Values

    - #### EXTCOMP_REPO_CLASS_PROPERTY

          public static final String EXTCOMP_REPO_CLASS_PROPERTY

      Field description
      See Also:
        Constant Field Values

    - #### IDENTITY_TYPE_KEY

          public static final String IDENTITY_TYPE_KEY

      Field description
      See Also:
        Constant Field Values

    - #### IDENTITY_TYPE_VAL

          public static final String IDENTITY_TYPE_VAL

      Field description
      See Also:
        Constant Field Values

    - #### MAX_AUTH_ATTEMPTS_PROP_KEY

          public static final String MAX_AUTH_ATTEMPTS_PROP_KEY

      Field description
      See Also:
        Constant Field Values

    - #### PACK_ROUTED_KEY

          public static final String PACK_ROUTED_KEY

      Field description
      See Also:
        Constant Field Values

    - #### RETURN_SERVICE_DISCO_KEY

          public static final String RETURN_SERVICE_DISCO_KEY

      Field description
      See Also:
        Constant Field Values

    - #### RETURN_SERVICE_DISCO_VAL

          public static final boolean RETURN_SERVICE_DISCO_VAL

      Field description
      See Also:
        Constant Field Values

    - #### PACK_ROUTED_VAL

          public boolean PACK_ROUTED_VAL

      Field description

  - ### Constructor Detail

    - #### ComponentProtocol

          public ComponentProtocol()

      Constructs ...

  - ### Method Detail

    - #### authenticated

          public void authenticated(ComponentIOService serv)

      Method description
      Specified by:
        `authenticated` in interface `ComponentProtocolHandler`
      Parameters:
        `serv` -

    - #### authenticationFailed

          public void authenticationFailed(ComponentIOService serv,
                                  Packet packet)

      Method description
      Specified by:
        `authenticationFailed` in interface `ComponentProtocolHandler`
      Parameters:
        `serv` -
        `packet` -

    - #### getDefTrafficThrottling

          protected String getDefTrafficThrottling()

      Method description
      Overrides:
        `getDefTrafficThrottling` in class `ConnectionManager<ComponentIOService>`
      Returns:

    - #### bindHostname

          public void bindHostname(String hostname,
                          ComponentIOService serv)

      Method description
      Specified by:
        `bindHostname` in interface `ComponentProtocolHandler`
      Parameters:
        `hostname` -
        `serv` -

    - #### getCompRepoItem

          public CompRepoItem getCompRepoItem(String hostname)

      Method description
      Specified by:
        `getCompRepoItem` in interface `ComponentProtocolHandler`
      Parameters:
        `hostname` -
      Returns:

    - #### getDefaults

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

      Method description
      Specified by:
        `getDefaults` in interface `Configurable`
      Overrides:
        `getDefaults` in class `ConnectionManager<ComponentIOService>`
      Parameters:
        `params` -
      Returns:

    - #### getDiscoCategoryType

          public String getDiscoCategoryType()

      Method description
      Overrides:
        `getDiscoCategoryType` in class `BasicComponent`
      Returns:

    - #### getDiscoDescription

          public String getDiscoDescription()

      Method description
      Overrides:
        `getDiscoDescription` in class `BasicComponent`
      Returns:

    - #### getProcessor

          public ExtProcessor getProcessor(String key)

      Method description
      Specified by:
        `getProcessor` in interface `ComponentProtocolHandler`
      Parameters:
        `key` -
      Returns:

    - #### getStatistics

          public void getStatistics(StatisticsList list)

      Method description
      Specified by:
        `getStatistics` in interface `StatisticsContainer`
      Overrides:
        `getStatistics` in class `ConnectionManager<ComponentIOService>`
      Parameters:
        `list` -

    - #### getStreamFeatures

          public List<tigase.xml.Element> getStreamFeatures(ComponentIOService serv)

      Method description
      Specified by:
        `getStreamFeatures` in interface `ComponentProtocolHandler`
      Parameters:
        `serv` -
      Returns:

    - #### getStreamOpenHandler

          public StreamOpenHandler getStreamOpenHandler(String xmlns)

      Method description
      Specified by:
        `getStreamOpenHandler` in interface `ComponentProtocolHandler`
      Parameters:
        `xmlns` -
      Returns:

    - #### initBindings

          public void initBindings(Bindings binds)

      Method description
      Overrides:
        `initBindings` in class `ConnectionManager<ComponentIOService>`
      Parameters:
        `binds` -

    - #### processSocketData

          public Queue<Packet> processSocketData(ComponentIOService serv)

      Method description
      Specified by:
        `processSocketData` in class `ConnectionManager<ComponentIOService>`
      Parameters:
        `serv` -
      Returns:

    - #### reconnectionFailed

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

      Method description
      Specified by:
        `reconnectionFailed` in class `ConnectionManager<ComponentIOService>`
      Parameters:
        `port_props` -

    - #### serviceStarted

          public void serviceStarted(ComponentIOService serv)

      Method description
      Overrides:
        `serviceStarted` in class `ConnectionManager<ComponentIOService>`
      Parameters:
        `serv` -

    - #### serviceStopped

          public boolean serviceStopped(ComponentIOService service)

      Method description
      Specified by:
        `serviceStopped` in interface `IOServiceListener<ComponentIOService>`
      Overrides:
        `serviceStopped` in class `ConnectionManager<ComponentIOService>`
      Parameters:
        `service` -
      Returns:

    - #### setProperties

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

      Method description
      Specified by:
        `setProperties` in interface `Configurable`
      Overrides:
        `setProperties` in class `ConnectionManager<ComponentIOService>`
      Parameters:
        `properties` -

    - #### tlsHandshakeCompleted

          public void tlsHandshakeCompleted(ComponentIOService service)

      Method description
      Specified by:
        `tlsHandshakeCompleted` in interface `IOServiceListener<ComponentIOService>`
      Parameters:
        `service` -

    - #### unbindHostname

          public void unbindHostname(String hostname,
                            ComponentIOService serv)

      Method description
      Specified by:
        `unbindHostname` in interface `ComponentProtocolHandler`
      Parameters:
        `hostname` -
        `serv` -

    - #### writePacketToSocket

          public boolean writePacketToSocket(ComponentIOService ios,
                                    Packet p)

      Method description
      Overrides:
        `writePacketToSocket` in class `ConnectionManager<ComponentIOService>`
      Parameters:
        `ios` -
        `p` -
      Returns:

    - #### xmppStreamClosed

          public void xmppStreamClosed(ComponentIOService serv)

      Method description
      Specified by:
        `xmppStreamClosed` in interface `XMPPIOServiceListener<ComponentIOService>`
      Parameters:
        `serv` -

    - #### xmppStreamOpened

          public String xmppStreamOpened(ComponentIOService serv,
                                Map<String,String> attribs)

      Method description
      Specified by:
        `xmppStreamOpened` in interface `XMPPIOServiceListener<ComponentIOService>`
      Parameters:
        `serv` -
        `attribs` -
      Returns:

    - #### getMaxInactiveTime

          protected long getMaxInactiveTime()

      Method description
      Specified by:
        `getMaxInactiveTime` in class `ConnectionManager<ComponentIOService>`
      Returns:

    - #### getMaxQueueSize

          protected Integer getMaxQueueSize(int def)

      Method description
      Overrides:
        `getMaxQueueSize` in class `AbstractMessageReceiver`
      Parameters:
        `def` -
      Returns:

    - #### getXMPPIOService

          protected ComponentIOService getXMPPIOService(Packet p)

      Method description
      Overrides:
        `getXMPPIOService` in class `ConnectionManager<ComponentIOService>`
      Parameters:
        `p` -
      Returns:

    - #### getXMPPIOServiceInstance

          protected ComponentIOService getXMPPIOServiceInstance()

      Method description
      Specified by:
        `getXMPPIOServiceInstance` in class `ConnectionManager<ComponentIOService>`
      Returns:

    - #### isHighThroughput

          protected boolean isHighThroughput()

      Method description
      Overrides:
        `isHighThroughput` in class `ConnectionManager<ComponentIOService>`
      Returns:

Copyright © 2013 Tigase. All rights reserved.