Package tigase.server.cluster.strategy
Class CacheContener
- java.lang.Object
-
- tigase.server.cluster.strategy.CacheContener
-
- All Implemented Interfaces:
CacheContenerIfc
,tigase.sys.OnlineJidsReporter
public class CacheContener extends java.lang.Object implements tigase.sys.OnlineJidsReporter, CacheContenerIfc
- Author:
- Artur Hefczyc Created Mar 15, 2011
-
-
Constructor Summary
Constructors Constructor Description CacheContener()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
connectionsSize()
Returns number of all cached connections (all/total CIDs for all connected users)boolean
containsJid(tigase.xmpp.jid.BareJID jid)
boolean
containsJidLocally(tigase.xmpp.jid.BareJID jid)
boolean
containsJidLocally(tigase.xmpp.jid.JID jid)
tigase.xmpp.jid.JID[]
getConnectionIdsForJid(tigase.xmpp.jid.BareJID jid)
ConnectionRecordExt
getConnectionRecord(tigase.xmpp.jid.JID jid)
Retrieves aConnectionRecordExt
for the particular, specificJID
java.util.Set<ConnectionRecordExt>
getConnectionRecords(tigase.xmpp.jid.BareJID bareJID)
Method retrieves allConnectionRecordExt
records for the particularBareJID
java.lang.Object
getInternalData()
Method allows retrieval internal structure underlying cache.java.util.List<tigase.xmpp.jid.JID>
getNodesForJid(tigase.xmpp.jid.JID jid)
Method retrieves all nodes on which particular user has it's connections.boolean
hasCompleteJidsInfo()
int
mapSize()
Return number of connected usersboolean
needsSync()
Allow obtaining information whether cache needs synching with other nodes.void
removeAllForNode(tigase.xmpp.jid.JID node)
Method removes all cached connections which were related to the given node (e.g. when the node was disconnected) as well as decreases count of all connections stored in cache.void
setSync(boolean sync)
Set the state of synchronisation.void
updatePresence(tigase.xml.Element presence, ConnectionRecordExt rec)
Method updates given connection in the cache with the information about presence for the given connection.void
userDisconnected(ConnectionRecordExt rec)
Method responsible for user disconnection events.void
usersConnected(ConnectionRecordExt... recs)
Method responsible for user connection events.
-
-
-
Method Detail
-
connectionsSize
public int connectionsSize()
Returns number of all cached connections (all/total CIDs for all connected users)- Returns:
- number of all cached CIDs
-
containsJid
public boolean containsJid(tigase.xmpp.jid.BareJID jid)
- Specified by:
containsJid
in interfaceCacheContenerIfc
- Specified by:
containsJid
in interfacetigase.sys.OnlineJidsReporter
-
containsJidLocally
public boolean containsJidLocally(tigase.xmpp.jid.BareJID jid)
- Specified by:
containsJidLocally
in interfacetigase.sys.OnlineJidsReporter
-
containsJidLocally
public boolean containsJidLocally(tigase.xmpp.jid.JID jid)
- Specified by:
containsJidLocally
in interfacetigase.sys.OnlineJidsReporter
-
mapSize
public int mapSize()
Return number of connected users- Returns:
- number of connected users
-
needsSync
public boolean needsSync()
Allow obtaining information whether cache needs synching with other nodes.- Returns:
true
if cache is out of synch,false
otherwise.
-
setSync
public void setSync(boolean sync)
Set the state of synchronisation.- Specified by:
setSync
in interfaceCacheContenerIfc
- Parameters:
sync
- boolean value denoting sync state.
-
removeAllForNode
public void removeAllForNode(tigase.xmpp.jid.JID node)
Method removes all cached connections which were related to the given node (e.g. when the node was disconnected) as well as decreases count of all connections stored in cache.- Specified by:
removeAllForNode
in interfaceCacheContenerIfc
- Parameters:
node
-JID
of the node for which cached items will be removed.
-
updatePresence
public void updatePresence(tigase.xml.Element presence, ConnectionRecordExt rec)
Method updates given connection in the cache with the information about presence for the given connection.- Parameters:
presence
-Element
containing presence informationrec
-ConnectionRecordExt
for which presence should be updated
-
userDisconnected
public void userDisconnected(ConnectionRecordExt rec)
Method responsible for user disconnection events. Removes given connection record from the cache and decrease counter of all connections.- Specified by:
userDisconnected
in interfaceCacheContenerIfc
- Parameters:
rec
-ConnectionRecordExt
for which presence should be updated
-
usersConnected
public void usersConnected(ConnectionRecordExt... recs)
Method responsible for user connection events. Adds given connection record to the cache and increases counters of both all connections and number of user JIDs in cache..- Specified by:
usersConnected
in interfaceCacheContenerIfc
- Parameters:
recs
-ConnectionRecordExt
for which presence should be updated
-
getConnectionIdsForJid
public tigase.xmpp.jid.JID[] getConnectionIdsForJid(tigase.xmpp.jid.BareJID jid)
- Specified by:
getConnectionIdsForJid
in interfacetigase.sys.OnlineJidsReporter
-
getConnectionRecord
public ConnectionRecordExt getConnectionRecord(tigase.xmpp.jid.JID jid)
Retrieves aConnectionRecordExt
for the particular, specificJID
- Specified by:
getConnectionRecord
in interfaceCacheContenerIfc
- Parameters:
jid
- for whichConnectionRecordExt
should be retrieved- Returns:
ConnectionRecordExt
for the givenJID
-
getConnectionRecords
public java.util.Set<ConnectionRecordExt> getConnectionRecords(tigase.xmpp.jid.BareJID bareJID)
Method retrieves allConnectionRecordExt
records for the particularBareJID
- Parameters:
bareJID
- for which allConnectionRecordExt
should be retrieved- Returns:
Set
containing allConnectionRecordExt
objects for the givenJID
-
getInternalData
public java.lang.Object getInternalData()
Method allows retrieval internal structure underlying cache.- Returns:
Object
with internal structure of underlying cache.
-
getNodesForJid
public java.util.List<tigase.xmpp.jid.JID> getNodesForJid(tigase.xmpp.jid.JID jid)
Method retrieves all nodes on which particular user has it's connections.- Parameters:
jid
- for which list of cluster nodes should be returned.- Returns:
- list of cluster nodes on which user has it's connections.
-
hasCompleteJidsInfo
public boolean hasCompleteJidsInfo()
- Specified by:
hasCompleteJidsInfo
in interfacetigase.sys.OnlineJidsReporter
-
-