Package tigase.socks5

Class AbstractConnectionManager<IO extends tigase.net.IOService<?>>

java.lang.Object
tigase.server.BasicComponent
tigase.server.AbstractMessageReceiver
tigase.socks5.AbstractConnectionManager<IO>
Type Parameters:
IO -
All Implemented Interfaces:
tigase.cluster.api.ClusteredComponentIfc, tigase.conf.Configurable, tigase.disco.XMPPService, tigase.kernel.beans.config.ConfigurationChangedAware, tigase.kernel.beans.Initializable, tigase.kernel.beans.RegistrarBean, tigase.net.IOServiceListener<IO>, tigase.server.MessageReceiver, tigase.server.PacketWriterWithTimeout, tigase.server.ServerComponent, tigase.stats.StatisticsContainer, tigase.stats.StatisticsContainerIfc, tigase.vhosts.VHostListener
Direct Known Subclasses:
Socks5ConnectionManager

public abstract class AbstractConnectionManager<IO extends tigase.net.IOService<?>> extends tigase.server.AbstractMessageReceiver implements tigase.net.IOServiceListener<IO>, tigase.kernel.beans.RegistrarBean
Class description
Version:
5.2.0, 13/10/15
Author:
Andrzej Wójcik
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static class 
     
    static class 
     

    Nested classes/interfaces inherited from class tigase.server.BasicComponent

    tigase.server.BasicComponent.ServerInfoVHostItemExtension

    Nested classes/interfaces inherited from interface tigase.server.PacketWriterWithTimeout

    tigase.server.PacketWriterWithTimeout.Handler
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected int
     
    protected static final int
     
    protected static final int
     
    protected static final String
     
    protected static final String
     
    protected static final String[]
     
    protected static final String
     
    protected static final String
     
    protected static final String
     
    protected static final String
     
    protected static final String
     
    protected Map<String,IO>
     

    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.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
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected void
     
    protected void
    Perform a given action defined by ServiceChecker for all active IOService objects (active network connections).
    void
    Executed every minute to i.e.
    protected abstract int[]
    Returns array of defaults ports to bind
    protected abstract IO
    Returns new instance of service
    protected int[]
    Return array of ports
    void
    getStatistics(tigase.stats.StatisticsList list)
    Fill statistics list with statistics
    void
     
    protected boolean
    Returns true if instance should handle high throughtput
    void
    register(tigase.kernel.core.Kernel kernel)
     
    protected void
    releaseListener(tigase.net.ConnectionOpenListener toStop)
     
    void
    Handle service after creation
    boolean
    Handle service after stopping
    void
     
    void
     
    void
    unregister(tigase.kernel.core.Kernel kernel)
     

    Methods inherited from class tigase.server.AbstractMessageReceiver

    addOutPacket, addOutPacketNB, addOutPackets, addOutPacketWithTimeout, addOutPacketWithTimeout, addPacket, addPacketNB, addPackets, addRegexRouting, addTimerTask, addTimerTask, addTimerTask, addTimerTaskWithTimeout, addTimerTaskWithTimeout, beanConfigurationChanged, clearRegexRoutings, everyHour, everySecond, getMaxQueueSize, getRegexRoutings, getResourceForPacketWithTimeout, hashCodeForPacket, isInRegexRoutings, newPacketId, processingInThreads, processingOutThreads, processOutPacket, processPacket, processPacket, release, removeRegexRouting, schedulerThreads, setCompId, setIncomingFilters, setName, setOutogingFilters, setParent, setSchedulerThreads_size

    Methods inherited from class tigase.server.BasicComponent

    addComponentDomain, canCallCommand, canCallCommand, checkCommandAcl, checkCommandAcl, createScriptEngineManager, getComponentId, getComponentInfo, getDefaults, getDefHostName, getDefVHostItem, getDiscoCategory, getDiscoCategoryType, getDiscoDescription, getDiscoExtensionsForm, getDiscoFeatures, getDiscoFeatures, getDiscoInfo, getDiscoItems, getName, getNodesConnected, getNodesConnectedWithLocal, getScriptCommands, getScriptItems, getServiceEntity, getServiceEntityCaps, getVHostItem, handlesLocalDomains, handlesNameSubdomains, handlesNonLocalDomains, initBindings, initialize, isAdmin, isInitializationComplete, isLocalDomain, isLocalDomainOrComponent, isNonAdminCommands, isSubdomain, isTrusted, isTrusted, nodeConnected, nodeDisconnected, onNodeConnected, onNodeDisconnected, processScriptCommand, 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.net.IOServiceListener

    packetsReady, tlsHandshakeCompleted

    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

  • Constructor Details

    • AbstractConnectionManager

      public AbstractConnectionManager()
  • Method Details

    • everyMinute

      public void everyMinute()
      Executed every minute to i.e. get statistics
      Overrides:
      everyMinute in class tigase.server.AbstractMessageReceiver
    • initializationCompleted

      public void initializationCompleted()
      Specified by:
      initializationCompleted in interface tigase.server.ServerComponent
      Overrides:
      initializationCompleted in class tigase.server.BasicComponent
    • serviceStarted

      public void serviceStarted(IO serv)
      Handle service after creation
      Parameters:
      serv -
    • serviceStopped

      public boolean serviceStopped(IO serv)
      Handle service after stopping
      Specified by:
      serviceStopped in interface tigase.net.IOServiceListener<IO extends tigase.net.IOService<?>>
      Parameters:
      serv -
      Returns:
    • getStatistics

      public void getStatistics(tigase.stats.StatisticsList list)
      Fill statistics list with statistics
      Specified by:
      getStatistics in interface tigase.stats.StatisticsContainerIfc
      Overrides:
      getStatistics in class tigase.server.AbstractMessageReceiver
      Parameters:
      list -
    • register

      public void register(tigase.kernel.core.Kernel kernel)
      Specified by:
      register in interface tigase.kernel.beans.RegistrarBean
    • start

      public void start()
      Specified by:
      start in interface tigase.server.MessageReceiver
      Overrides:
      start in class tigase.server.AbstractMessageReceiver
    • stop

      public void stop()
      Overrides:
      stop in class tigase.server.AbstractMessageReceiver
    • unregister

      public void unregister(tigase.kernel.core.Kernel kernel)
      Specified by:
      unregister in interface tigase.kernel.beans.RegistrarBean
    • connectWaitingTasks

      protected void connectWaitingTasks()
    • doForAllServices

      protected void doForAllServices(ServiceChecker<IO> checker)
      Perform a given action defined by ServiceChecker for all active IOService objects (active network connections).
      Parameters:
      checker - is a ServiceChecker instance defining an action to perform for all IOService objects.
    • getDefaultPorts

      protected abstract int[] getDefaultPorts()
      Returns array of defaults ports to bind
      Returns:
    • getIOServiceInstance

      protected abstract IO getIOServiceInstance() throws IOException
      Returns new instance of service
      Returns:
      Throws:
      IOException
    • getPorts

      protected int[] getPorts()
      Return array of ports
      Returns:
      a value of int[]
    • isHighThroughput

      protected boolean isHighThroughput()
      Returns true if instance should handle high throughtput
      Returns:
    • releaseListener

      protected void releaseListener(tigase.net.ConnectionOpenListener toStop)