Class 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 Detail

      • CacheContener

        public CacheContener()
    • 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 interface CacheContenerIfc
        Specified by:
        containsJid in interface tigase.sys.OnlineJidsReporter
      • containsJidLocally

        public boolean containsJidLocally​(tigase.xmpp.jid.BareJID jid)
        Specified by:
        containsJidLocally in interface tigase.sys.OnlineJidsReporter
      • containsJidLocally

        public boolean containsJidLocally​(tigase.xmpp.jid.JID jid)
        Specified by:
        containsJidLocally in interface tigase.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 interface CacheContenerIfc
        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 interface CacheContenerIfc
        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 information
        rec - 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 interface CacheContenerIfc
        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 interface CacheContenerIfc
        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 interface tigase.sys.OnlineJidsReporter
      • 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 interface tigase.sys.OnlineJidsReporter