tigase.server.xmppserver
Class ServerConnectionManager
java.lang.Object
tigase.server.AbstractMessageReceiver
tigase.server.ConnectionManager<XMPPIOService>
tigase.server.xmppserver.ServerConnectionManager
- All Implemented Interfaces:
- Configurable, IOServiceListener, MessageReceiver, ServerComponent, ConnectionHandlerIfc, StatisticsContainer, VHostListener, XMPPIOServiceListener
- Direct Known Subclasses:
- ServerConnectionClustered
public class ServerConnectionManager
- extends ConnectionManager<XMPPIOService>
- implements ConnectionHandlerIfc
Class ServerConnectionManager
Created: Tue Nov 22 07:07:11 2005
- Version:
- $Rev: 1315 $
- Author:
- Artur Hefczyc
| Fields inherited from class tigase.server.ConnectionManager |
connectionDelay, MAX_RECONNECTS_PROP_KEY, PORT_CLASS_PROP_KEY, PORT_IFC_PROP_KEY, PORT_KEY, PORT_REMOTE_HOST_PROP_KEY, PORT_REMOTE_HOST_PROP_VAL, PORT_SOCKET_PROP_KEY, PORT_TYPE_PROP_KEY, PORTS_PROP_KEY, PROP_KEY, TLS_ALLOW_INVALID_CERTS_PROP_KEY, TLS_ALLOW_INVALID_CERTS_PROP_VAL, TLS_ALLOW_SELF_SIGNED_CERTS_PROP_KEY, TLS_ALLOW_SELF_SIGNED_CERTS_PROP_VAL, TLS_CONTAINER_CLASS_PROP_KEY, TLS_CONTAINER_CLASS_PROP_VAL, TLS_DEF_CERT_PROP_KEY, TLS_DEF_CERT_PROP_VAL, TLS_KEYS_STORE_PASSWD_PROP_KEY, TLS_KEYS_STORE_PASSWD_PROP_VAL, TLS_KEYS_STORE_PROP_KEY, TLS_KEYS_STORE_PROP_VAL, TLS_PROP_KEY, TLS_REQUIRED_PROP_KEY, TLS_REQUIRED_PROP_VAL, TLS_SERVER_CERTS_DIR_PROP_KEY, TLS_SERVER_CERTS_DIR_PROP_VAL, TLS_TRUSTED_CERTS_DIR_PROP_KEY, TLS_TRUSTED_CERTS_DIR_PROP_VAL, TLS_TRUSTS_STORE_PASSWD_PROP_KEY, TLS_TRUSTS_STORE_PASSWD_PROP_VAL, TLS_TRUSTS_STORE_PROP_KEY, TLS_TRUSTS_STORE_PROP_VAL, TLS_USE_PROP_KEY, TLS_USE_PROP_VAL |
| Fields inherited from interface tigase.conf.Configurable |
ADMINS_PROP_KEY, 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, COMPONENT_ID_PROP_KEY, DEF_BOSH_NAME, DEF_C2S_NAME, DEF_CL_COMP_NAME, DEF_CLUST_CONTR_NAME, DEF_EXT_COMP_NAME, DEF_HOSTNAME_PROP_KEY, DEF_S2S_NAME, DEF_SM_NAME, DEF_SRECV_NAME, DEF_SSEND_NAME, DEF_STATS_NAME, DEF_VHOST_MAN_NAME, DERBY_REPO_CLASS_PROP_VAL, DERBY_REPO_URL_PROP_VAL, DRUPAL_REPO_CLASS_PROP_VAL, DRUPAL_REPO_URL_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_EXT_COMP, GEN_MAX_QUEUE_SIZE, 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_VIRT_HOSTS, HOSTNAMES_PROP_KEY, LIBRESOURCE_REPO_CLASS_PROP_VAL, LIBRESOURCE_REPO_URL_PROP_VAL, MYSQL_REPO_CLASS_PROP_VAL, MYSQL_REPO_URL_PROP_VAL, NULL_ROUTING, PGSQL_REPO_CLASS_PROP_VAL, PGSQL_REPO_URL_PROP_VAL, ROUTER_COMP_CLASS_NAME, S2S_CLUST_COMP_CLASS_NAME, S2S_COMP_CLASS_NAME, SM_CLUS_COMP_CLASS_NAME, SM_COMP_CLASS_NAME, SRECV_COMP_CLASS_NAME, SSEND_COMP_CLASS_NAME, STATS_CLASS_NAME, TIGASE_AUTH_REPO_CLASS_PROP_VAL, TIGASE_AUTH_REPO_URL_PROP_VAL, TIGASE_CUSTOM_AUTH_REPO_CLASS_PROP_VAL, TRUSTED_PROP_KEY, VHOST_MAN_CLASS_NAME, XML_REPO_CLASS_PROP_VAL, XML_REPO_URL_PROP_VAL |
|
Method Summary |
java.util.Map<java.lang.String,java.lang.Object> |
getDefaults(java.util.Map<java.lang.String,java.lang.Object> params)
Returns defualt configuration settings for this object. |
protected int[] |
getDefPlainPorts()
|
protected java.lang.String |
getLocalDBKey(java.lang.String cid,
java.lang.String key,
java.lang.String forkey_sessionId,
java.lang.String asking_sessionId)
|
protected long |
getMaxInactiveTime()
Method getMaxInactiveTime returns max keep-alive time
for inactive connection. |
protected ServerConnections |
getServerConnections(java.lang.String cid)
|
java.util.List<StatRecord> |
getStatistics()
|
protected XMPPIOService |
getXMPPIOServiceInstance()
|
boolean |
handlesNonLocalDomains()
Indicates whether the component can handle all packets to
non-local domains. |
boolean |
isIncomingValid(java.lang.String session_id)
|
void |
processDialback(Packet packet,
XMPPIOService serv)
|
void |
processPacket(Packet packet)
|
java.util.Queue<Packet> |
processSocketData(XMPPIOService serv)
|
protected ServerConnections |
removeServerConnections(java.lang.String cid)
|
boolean |
sendToIncoming(java.lang.String session_id,
Packet packet)
|
protected void |
sendVerifyResult(java.lang.String from,
java.lang.String to,
java.lang.String forkey_sessionId,
boolean valid,
ServerConnections serv_conns,
java.lang.String asking_sessionId)
|
void |
serviceStarted(XMPPIOService serv)
|
void |
serviceStopped(XMPPIOService serv)
|
void |
setProperties(java.util.Map<java.lang.String,java.lang.Object> props)
Sets all configuration properties for object. |
void |
validateIncoming(java.lang.String session_id,
boolean valid)
|
void |
xmppStreamClosed(XMPPIOService serv)
|
java.lang.String |
xmppStreamOpened(XMPPIOService serv,
java.util.Map<java.lang.String,java.lang.String> attribs)
|
| Methods inherited from class tigase.server.ConnectionManager |
addWaitingTask, countIOServices, doForAllServices, getDefSSLPorts, getParamsForPort, getServiceId, getUniqueId, getXMPPIOService, getXMPPIOService, initializationCompleted, packetsReady, packetsReady, release, serviceStopped, setName, start, streamClosed, streamOpened, writePacketsToSocket, writePacketToSocket, writePacketToSocket, writePacketToSocket, writeRawData |
| Methods inherited from class tigase.server.AbstractMessageReceiver |
addOutPacket, addOutPacketNB, addOutPackets, addPacket, addPacketNB, addPackets, addRegexRouting, clearRegexRoutings, everyMinute, everySecond, getComponentId, getDefHostName, getMaxQueueSize, getName, getRegexRoutings, handlesLocalDomains, handlesNameSubdomains, isInRegexRoutings, isLocalDomain, isLocalDomainOrComponent, processPacket, removeRegexRouting, setMaxQueueSize, setParent, setVHostManager, stop |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
MAX_PACKET_WAITING_TIME_PROP_KEY
public static final java.lang.String MAX_PACKET_WAITING_TIME_PROP_KEY
- See Also:
- Constant Field Values
MAX_PACKET_WAITING_TIME_PROP_VAL
public static final long MAX_PACKET_WAITING_TIME_PROP_VAL
- See Also:
- Constant Field Values
ServerConnectionManager
public ServerConnectionManager()
getServerConnections
protected ServerConnections getServerConnections(java.lang.String cid)
removeServerConnections
protected ServerConnections removeServerConnections(java.lang.String cid)
processPacket
public void processPacket(Packet packet)
- Overrides:
processPacket in class ConnectionManager<XMPPIOService>
processSocketData
public java.util.Queue<Packet> processSocketData(XMPPIOService serv)
- Specified by:
processSocketData in class ConnectionManager<XMPPIOService>
isIncomingValid
public boolean isIncomingValid(java.lang.String session_id)
xmppStreamOpened
public java.lang.String xmppStreamOpened(XMPPIOService serv,
java.util.Map<java.lang.String,java.lang.String> attribs)
- Specified by:
xmppStreamOpened in class ConnectionManager<XMPPIOService>
xmppStreamClosed
public void xmppStreamClosed(XMPPIOService serv)
- Specified by:
xmppStreamClosed in class ConnectionManager<XMPPIOService>
getDefaults
public java.util.Map<java.lang.String,java.lang.Object> getDefaults(java.util.Map<java.lang.String,java.lang.Object> params)
- Description copied from class:
AbstractMessageReceiver
- Returns defualt configuration settings for this object.
- Specified by:
getDefaults in interface Configurable- Overrides:
getDefaults in class ConnectionManager<XMPPIOService>
getDefPlainPorts
protected int[] getDefPlainPorts()
- Overrides:
getDefPlainPorts in class ConnectionManager<XMPPIOService>
handlesNonLocalDomains
public boolean handlesNonLocalDomains()
- Description copied from interface:
VHostListener
- Indicates whether the component can handle all packets to
non-local domains. S2s connection manager component is the best
example of the component which handles all requests sent to non-local
domains.
- Specified by:
handlesNonLocalDomains in interface VHostListener- Overrides:
handlesNonLocalDomains in class AbstractMessageReceiver
- Returns:
- 'true' if the component accepts packets to non-local domains
'false' otherwise.
setProperties
public void setProperties(java.util.Map<java.lang.String,java.lang.Object> props)
- Description copied from class:
AbstractMessageReceiver
- Sets all configuration properties for object.
- Specified by:
setProperties in interface Configurable- Overrides:
setProperties in class ConnectionManager<XMPPIOService>
serviceStarted
public void serviceStarted(XMPPIOService serv)
- Overrides:
serviceStarted in class ConnectionManager<XMPPIOService>
getStatistics
public java.util.List<StatRecord> getStatistics()
- Specified by:
getStatistics in interface StatisticsContainer- Overrides:
getStatistics in class ConnectionManager<XMPPIOService>
serviceStopped
public void serviceStopped(XMPPIOService serv)
- Overrides:
serviceStopped in class ConnectionManager<XMPPIOService>
processDialback
public void processDialback(Packet packet,
XMPPIOService serv)
sendToIncoming
public boolean sendToIncoming(java.lang.String session_id,
Packet packet)
validateIncoming
public void validateIncoming(java.lang.String session_id,
boolean valid)
getLocalDBKey
protected java.lang.String getLocalDBKey(java.lang.String cid,
java.lang.String key,
java.lang.String forkey_sessionId,
java.lang.String asking_sessionId)
sendVerifyResult
protected void sendVerifyResult(java.lang.String from,
java.lang.String to,
java.lang.String forkey_sessionId,
boolean valid,
ServerConnections serv_conns,
java.lang.String asking_sessionId)
getMaxInactiveTime
protected long getMaxInactiveTime()
- Method
getMaxInactiveTime returns max keep-alive time
for inactive connection. Let's assume s2s should send something
at least once every 15 minutes....
- Specified by:
getMaxInactiveTime in class ConnectionManager<XMPPIOService>
- Returns:
- a
long value
getXMPPIOServiceInstance
protected XMPPIOService getXMPPIOServiceInstance()
- Specified by:
getXMPPIOServiceInstance in class ConnectionManager<XMPPIOService>
Copyright © 2008 Tigase. All Rights Reserved.