Package tigase.socks5

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

  • 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  AbstractConnectionManager.PortConfigBean  
      static class  AbstractConnectionManager.PortsConfigBean  
      • 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 net_buffer  
      protected static int NET_BUFFER_HT_PROP_VAL  
      protected static int NET_BUFFER_ST_PROP_VAL  
      protected static String PORT_CLASS_PROP_KEY  
      protected static String PORT_IFC_PROP_KEY  
      protected static String[] PORT_IFC_PROP_VAL  
      protected static String PORT_KEY  
      protected static String PORT_SOCKET_PROP_KEY  
      protected static String PORT_TYPE_PROP_KEY  
      protected static String PORTS_PROP_KEY  
      protected static String PROP_KEY  
      protected Map<String,​IO> services  
      • 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
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      protected void connectWaitingTasks()  
      protected void doForAllServices​(ServiceChecker<IO> checker)
      Perform a given action defined by ServiceChecker for all active IOService objects (active network connections).
      void everyMinute()
      Executed every minute to i.e.
      protected abstract int[] getDefaultPorts()
      Returns array of defaults ports to bind
      protected abstract IO getIOServiceInstance()
      Returns new instance of service
      protected int[] getPorts()
      Return array of ports
      void getStatistics​(tigase.stats.StatisticsList list)
      Fill statistics list with statistics
      void initializationCompleted()  
      protected boolean isHighThroughput()
      Returns true if instance should handle high throughtput
      void register​(tigase.kernel.core.Kernel kernel)  
      protected void releaseListener​(tigase.net.ConnectionOpenListener toStop)  
      void serviceStarted​(IO serv)
      Handle service after creation
      boolean serviceStopped​(IO serv)
      Handle service after stopping
      void start()  
      void stop()  
      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 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
    • Constructor Detail

      • AbstractConnectionManager

        public AbstractConnectionManager()
    • Method Detail

      • 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)