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.RegistrarBeanClass description- Version:
- 5.2.0, 13/10/15
- Author:
- Andrzej Wójcik
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classAbstractConnectionManager.PortConfigBeanstatic classAbstractConnectionManager.PortsConfigBean
-
Field Summary
Fields Modifier and Type Field Description protected intnet_bufferprotected static intNET_BUFFER_HT_PROP_VALprotected static intNET_BUFFER_ST_PROP_VALprotected static StringPORT_CLASS_PROP_KEYprotected static StringPORT_IFC_PROP_KEYprotected static String[]PORT_IFC_PROP_VALprotected static StringPORT_KEYprotected static StringPORT_SOCKET_PROP_KEYprotected static StringPORT_TYPE_PROP_KEYprotected static StringPORTS_PROP_KEYprotected static StringPROP_KEYprotected 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
-
-
Constructor Summary
Constructors Constructor Description AbstractConnectionManager()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected voidconnectWaitingTasks()protected voiddoForAllServices(ServiceChecker<IO> checker)Perform a given action defined by ServiceChecker for all active IOService objects (active network connections).voideveryMinute()Executed every minute to i.e.protected abstract int[]getDefaultPorts()Returns array of defaults ports to bindprotected abstract IOgetIOServiceInstance()Returns new instance of serviceprotected int[]getPorts()Return array of portsvoidgetStatistics(tigase.stats.StatisticsList list)Fill statistics list with statisticsvoidinitializationCompleted()protected booleanisHighThroughput()Returns true if instance should handle high throughtputvoidregister(tigase.kernel.core.Kernel kernel)protected voidreleaseListener(tigase.net.ConnectionOpenListener toStop)voidserviceStarted(IO serv)Handle service after creationbooleanserviceStopped(IO serv)Handle service after stoppingvoidstart()voidstop()voidunregister(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
-
-
-
-
Field Detail
-
NET_BUFFER_HT_PROP_VAL
protected static final int NET_BUFFER_HT_PROP_VAL
- See Also:
- Constant Field Values
-
NET_BUFFER_ST_PROP_VAL
protected static final int NET_BUFFER_ST_PROP_VAL
- See Also:
- Constant Field Values
-
PORT_CLASS_PROP_KEY
protected static final String PORT_CLASS_PROP_KEY
- See Also:
- Constant Field Values
-
PORT_IFC_PROP_KEY
protected static final String PORT_IFC_PROP_KEY
- See Also:
- Constant Field Values
-
PORT_IFC_PROP_VAL
protected static final String[] PORT_IFC_PROP_VAL
-
PORT_KEY
protected static final String PORT_KEY
- See Also:
- Constant Field Values
-
PORT_SOCKET_PROP_KEY
protected static final String PORT_SOCKET_PROP_KEY
- See Also:
- Constant Field Values
-
PORT_TYPE_PROP_KEY
protected static final String PORT_TYPE_PROP_KEY
- See Also:
- Constant Field Values
-
PROP_KEY
protected static final String PROP_KEY
- See Also:
- Constant Field Values
-
PORTS_PROP_KEY
protected static final String PORTS_PROP_KEY
- See Also:
- Constant Field Values
-
net_buffer
@ConfigField(desc="Size of a network buffer", alias="net-buffer") protected int net_buffer
-
-
Method Detail
-
everyMinute
public void everyMinute()
Executed every minute to i.e. get statistics- Overrides:
everyMinutein classtigase.server.AbstractMessageReceiver
-
initializationCompleted
public void initializationCompleted()
- Specified by:
initializationCompletedin interfacetigase.server.ServerComponent- Overrides:
initializationCompletedin classtigase.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:
serviceStoppedin interfacetigase.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:
getStatisticsin interfacetigase.stats.StatisticsContainerIfc- Overrides:
getStatisticsin classtigase.server.AbstractMessageReceiver- Parameters:
list-
-
register
public void register(tigase.kernel.core.Kernel kernel)
- Specified by:
registerin interfacetigase.kernel.beans.RegistrarBean
-
start
public void start()
- Specified by:
startin interfacetigase.server.MessageReceiver- Overrides:
startin classtigase.server.AbstractMessageReceiver
-
stop
public void stop()
- Overrides:
stopin classtigase.server.AbstractMessageReceiver
-
unregister
public void unregister(tigase.kernel.core.Kernel kernel)
- Specified by:
unregisterin interfacetigase.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 aServiceCheckerinstance 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)
-
-