Class PeerManager


  • class PeerManager
    extends Object
    Manage the current state of the statistics Also maintain Sets for each of the capabilities in TRACKED_CAPS.
    • Field Detail

      • REORGANIZE_TIME_LONG

        static final long REORGANIZE_TIME_LONG
        We don't want this much longer than the average connect time, as the CapacityCalculator now includes connection as a factor. This must also be less than 10 minutes, which is the shortest Rate contained in the profile, as the Rates must be coalesced.
        See Also:
        Constant Field Values
      • REORGANIZES_PER_DAY

        static final int REORGANIZES_PER_DAY
        After first two hours of uptime ~= 246
        See Also:
        Constant Field Values
    • Constructor Detail

      • PeerManager

        public PeerManager​(RouterContext context)
        Profiles are now loaded in a separate thread, so this should return quickly.
    • Method Detail

      • storeProfiles

        void storeProfiles()
      • clearProfiles

        void clearProfiles()
        Since:
        0.8.8
      • selectPeers

        Set<Hash> selectPeers()
      • loadProfiles

        void loadProfiles()
        This may take a long time - 30 seconds or more
      • selectPeers

        List<Hash> selectPeers​(PeerSelectionCriteria criteria)
        Find some peers that meet the criteria and we have the netDb info for locally. Returned list will not include ourselves. Only used by PeerTestJob (PURPOSE_TEST)
      • setCapabilities

        public void setCapabilities​(Hash peer,
                                    String caps)
        Parameters:
        caps - non-null, case is ignored
      • removeCapabilities

        public void removeCapabilities​(Hash peer)
      • getPeersByCapability

        public Set<Hash> getPeersByCapability​(char capability)
        Parameters:
        capability - case-insensitive
        Returns:
        non-null unmodifiable set
      • countPeersByCapability

        public int countPeersByCapability​(char capability)
        Parameters:
        capability - case-insensitive
        Returns:
        how many
        Since:
        0.9.45