Class PersistSybil


  • public class PersistSybil
    extends Object
    Store and retrieve analysis files from disk. Each file is named with a timestamp.
    Since:
    0.9.38
    • Constructor Detail

      • PersistSybil

        PersistSybil​(I2PAppContext ctx)
        access via Analysis.getPersister()
    • Method Detail

      • store

        public void store​(long date,
                          Map<Hash,​Points> entries)
                   throws IOException
        Store each entry.
        Parameters:
        entries - each one should be "entry" at the root
        Throws:
        IOException
      • load

        public List<Long> load()
        The list of stored analysis sets, as a time stamp.
        Returns:
        non-null, sorted by updated date, newest first
      • removeOld

        public void removeOld()
        Remove all files older than configured threshold Inline for now, thread later if necessary
        Since:
        0.9.41
      • delete

        public boolean delete​(long date)
        Delete the file for a particular date
        Returns:
        success
      • readBlocklist

        Map<String,​Long> readBlocklist()
        Read the blocklist
        Returns:
        map of ip or hash to expiration (ms), or null on failure
        Since:
        0.9.50
      • storeBlocklist

        void storeBlocklist​(Set<String> blocks,
                            long blockUntil)
        Write the blocklist. The format is different than other blocklists because we include an expiration. Format: One per line: ip or hash,expiration time (ms)
        Parameters:
        blocks - non-empty, will be merged with existing entries
        Since:
        0.9.50