|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface ClusteringStrategyIfc
Created: May 2, 2009 4:36:03 PM
Method Summary | |
---|---|
List<tigase.xmpp.JID> |
getAllNodes()
The method retutns all cluster nodes currently connected to the cluster. |
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 |
needsSync()
This method returns 'true' if it needs online users syncronization
upon the node connection to the cluster. |
void |
nodeConnected(tigase.xmpp.JID node)
This is a handler method which is called when a new node connects to the cluster. |
void |
nodeDisconnected(tigase.xmpp.JID node)
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 node,
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 node,
Queue<Packet> results,
tigase.xmpp.JID... jids)
This is a handler method which is called when a user connects to some node in the cluster. |
Methods inherited from interface tigase.sys.OnlineJidsReporter |
---|
containsJid, getConnectionIdsForJid, hasCompleteJidsInfo |
Method Detail |
---|
List<tigase.xmpp.JID> getAllNodes()
Map<String,Object> getDefaults(Map<String,Object> params)
setProperties
method.
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.List<tigase.xmpp.JID> getNodesForJid(tigase.xmpp.JID jid)
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.
jid
- is a user full JID.
void getStatistics(StatisticsList list)
list
- boolean needsSync()
'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.
void nodeConnected(tigase.xmpp.JID node)
node
- is a cluster node id.void nodeDisconnected(tigase.xmpp.JID node)
node
- is a cluster node id.void setProperties(Map<String,Object> props)
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.
props
- a Map
with all configuration parameters for the class.void userDisconnected(tigase.xmpp.JID node, Queue<Packet> results, tigase.xmpp.JID jid)
jid
- us a user full JID just disconnected from the cluster.node
- 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.void usersConnected(tigase.xmpp.JID node, Queue<Packet> results, tigase.xmpp.JID... jids)
jids
- 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.node
- 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.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |