tigase.server.ext
Class ComponentProtocol

java.lang.Object
  extended by tigase.server.BasicComponent
      extended by tigase.server.AbstractMessageReceiver
          extended by tigase.server.ConnectionManager<ComponentIOService>
              extended by 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
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
ComponentProtocol()
          Constructs ...
 
Method Summary
 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.