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.net.IOServiceListener<IO>, tigase.server.MessageReceiver, 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>
    Class description
    Version:
    5.2.0, 13/10/15
    Author:
    Andrzej Wójcik
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected int net_buffer
      Field description
      protected static int NET_BUFFER_HT_PROP_VAL
      Field description
      protected static String NET_BUFFER_PROP_KEY
      Field description
      protected static int NET_BUFFER_ST_PROP_VAL
      Field description
      protected static String PORT_CLASS_PROP_KEY
      Field description
      protected static String PORT_IFC_PROP_KEY
      Field description
      protected static String[] PORT_IFC_PROP_VAL
      Field description
      protected static String PORT_KEY
      Field description
      protected static String PORT_SOCKET_PROP_KEY
      Field description
      protected static String PORT_TYPE_PROP_KEY
      Field description
      protected static String PORTS_PROP_KEY
      Field description
      protected static String PROP_KEY
      Field description
      protected Map<String,​IO> services
      Field description
      • 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, 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_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, 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, 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, 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 addWaitingTask​(Map<String,​Object> conn)
      Assign task for delayed execution
      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
      Map<String,​Object> getDefaults​(Map<String,​Object> params)
      Returns map with default configuration based on parameters
      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()
      Method description
      protected boolean isHighThroughput()
      Returns true if instance should handle high throughtput
      void serviceStarted​(IO serv)
      Handle service after creation
      boolean serviceStopped​(IO serv)
      Handle service after stopping
      void setProperties​(Map<String,​Object> props)
      Configure instance based on properties
      • Methods inherited from class tigase.server.AbstractMessageReceiver

        addOutPacket, addOutPacketNB, addOutPackets, addOutPacketWithTimeout, addPacket, addPacketNB, addPackets, addRegexRouting, addTimerTask, addTimerTask, addTimerTask, addTimerTask, addTimerTask, addTimerTaskWithTimeout, addTimerTaskWithTimeout, clearRegexRoutings, everyHour, everySecond, getMaxQueueSize, getRegexRoutings, hashCodeForPacket, isInRegexRoutings, newPacketId, processingInThreads, processingOutThreads, processingThreads, processOutPacket, processPacket, processPacket, release, removeRegexRouting, schedulerThreads, setMaxQueueSize, setName, setParent, start, stop
      • Methods inherited from class tigase.server.BasicComponent

        addComponentDomain, canCallCommand, checkCommandAcl, getComponentId, getComponentInfo, getDefHostName, getDefVHostItem, getDiscoCategory, getDiscoCategoryType, getDiscoDescription, getDiscoFeatures, getDiscoFeatures, getDiscoInfo, getDiscoInfo, getDiscoItems, getDiscoItems, getName, getNodesConnected, getNodesConnectedWithLocal, getScriptCommands, getScriptItems, getServiceEntity, getVHostItem, handlesLocalDomains, handlesNameSubdomains, handlesNonLocalDomains, initBindings, isAdmin, isInitializationComplete, isLocalDomain, isLocalDomainOrComponent, isNonAdminCommands, isSubdomain, isTrusted, isTrusted, nodeConnected, nodeDisconnected, onNodeConnected, onNodeDisconnected, processScriptCommand, removeComponentDomain, removeServiceDiscoveryItem, setClusterController, 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()
        Method description
        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:
      • getDefaults

        public Map<String,​Object> getDefaults​(Map<String,​Object> params)
        Returns map with default configuration based on parameters
        Specified by:
        getDefaults in interface tigase.conf.Configurable
        Overrides:
        getDefaults in class tigase.server.AbstractMessageReceiver
        Parameters:
        params -
        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 -
      • setProperties

        public void setProperties​(Map<String,​Object> props)
                           throws tigase.conf.ConfigurationException
        Configure instance based on properties
        Specified by:
        setProperties in interface tigase.conf.Configurable
        Overrides:
        setProperties in class tigase.server.AbstractMessageReceiver
        Parameters:
        props -
        Throws:
        tigase.conf.ConfigurationException
      • addWaitingTask

        protected void addWaitingTask​(Map<String,​Object> conn)
        Assign task for delayed execution
        Parameters:
        conn -
      • 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: