|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objecttigase.cluster.strategy.SMNonCachingAllNodes
public class SMNonCachingAllNodes
Created: May 13, 2009 9:53:44 AM
Constructor Summary | |
---|---|
SMNonCachingAllNodes()
|
Method Summary | |
---|---|
boolean |
containsJid(tigase.xmpp.JID jid)
|
List<tigase.xmpp.JID> |
getAllNodes()
The method retutns all cluster nodes currently connected to the cluster. |
tigase.xmpp.JID[] |
getConnectionIdsForJid(tigase.xmpp.JID jid)
|
Map<String,Object> |
getDefaults(Map<String,Object> params)
This method is used for configuration purpose. |
List<tigase.xmpp.JID> |
getNodesForJid(tigase.xmpp.JID jid)
Returns a List of all cluster nodes on which the given user session
can exist. |
void |
getStatistics(StatisticsList list)
Add the strategy statistics to the List. |
boolean |
hasCompleteJidsInfo()
|
boolean |
needsSync()
This method returns 'true' if it needs online users syncronization
upon the node connection to the cluster. |
void |
nodeConnected(tigase.xmpp.JID jid)
This is a handler method which is called when a new node connects to the cluster. |
void |
nodeDisconnected(tigase.xmpp.JID jid)
This is a handler method which is called when a node disconnects from the cluster. |
void |
setProperties(Map<String,Object> props)
Method used to pass configuration parameters to the class. |
void |
userDisconnected(tigase.xmpp.JID sm,
Queue<Packet> results,
tigase.xmpp.JID jid)
This is a handler method which is called when a user disconnects from some node in the cluster. |
void |
usersConnected(tigase.xmpp.JID sm,
Queue<Packet> results,
tigase.xmpp.JID... jid)
This is a handler method which is called when a user connects to some node in the cluster. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public SMNonCachingAllNodes()
Method Detail |
---|
public Map<String,Object> getDefaults(Map<String,Object> params)
ClusteringStrategyIfc
setProperties
method.
getDefaults
in interface ClusteringStrategyIfc
params
- a Map
with properties loaded from
init.properties file which should be used for generating defaults.
Map
with all the class default configuration
parameters.public void setProperties(Map<String,Object> props)
ClusteringStrategyIfc
Map
which contains compiles set of defaults overwriten
by parameters loaded from configuration file.
If he implementation took a good care of providing defaults for all
parameters no parameter should be missing.
setProperties
in interface ClusteringStrategyIfc
props
- a Map
with all configuration parameters for the class.public List<tigase.xmpp.JID> getNodesForJid(tigase.xmpp.JID jid)
ClusteringStrategyIfc
List
of all cluster nodes on which the given user session
can exist. In the simplest scenario it can always return all cluster nodes
as in theory the user can connect to any node if it is not on the local node.
More specialized implementation can know kind of hashing algorithm which is
used for binding a specific user to a specific node or the implementation
can keep track of all connected users to all nodes and 'know' where is
the user connected at any given time.
In theory it can also return 'null'
it it 'knows' the user is
offline.
getNodesForJid
in interface ClusteringStrategyIfc
jid
- is a user full JID.
public void nodeConnected(tigase.xmpp.JID jid)
ClusteringStrategyIfc
nodeConnected
in interface ClusteringStrategyIfc
jid
- is a cluster node id.public void nodeDisconnected(tigase.xmpp.JID jid)
ClusteringStrategyIfc
nodeDisconnected
in interface ClusteringStrategyIfc
jid
- is a cluster node id.public void usersConnected(tigase.xmpp.JID sm, Queue<Packet> results, tigase.xmpp.JID... jid)
ClusteringStrategyIfc
usersConnected
in interface ClusteringStrategyIfc
sm
- is a cluster node id where the jid is connected to.results
- is a collection of packets which can be generated upon the
user connection by the implementation.jid
- is a list of full user JIDs which just connected to the cluster.
Normally there is only one JID provided, however, in some cases
(during syncronization) there might be more than one.public void userDisconnected(tigase.xmpp.JID sm, Queue<Packet> results, tigase.xmpp.JID jid)
ClusteringStrategyIfc
userDisconnected
in interface ClusteringStrategyIfc
sm
- is a cluster node id from which the user disconnected.results
- is a collection of packets which can be generated upon the
user disconnection by the implementation.jid
- us a user full JID just disconnected from the cluster.public List<tigase.xmpp.JID> getAllNodes()
ClusteringStrategyIfc
getAllNodes
in interface ClusteringStrategyIfc
public boolean needsSync()
ClusteringStrategyIfc
'true'
if it needs online users syncronization
upon the node connection to the cluster. Normally it should return 'false'
.
It it return 'true'
then the synchronization starts. All online users
from all other nodes would sent in batches and the synchronization can take
any amount of time.
needsSync
in interface ClusteringStrategyIfc
public void getStatistics(StatisticsList list)
ClusteringStrategyIfc
getStatistics
in interface ClusteringStrategyIfc
public boolean hasCompleteJidsInfo()
hasCompleteJidsInfo
in interface OnlineJidsReporter
public boolean containsJid(tigase.xmpp.JID jid)
containsJid
in interface OnlineJidsReporter
public tigase.xmpp.JID[] getConnectionIdsForJid(tigase.xmpp.JID jid)
getConnectionIdsForJid
in interface OnlineJidsReporter
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |