Interface ClientIDGenerator

  • All Known Implementing Classes:
    ClientIDPlugin

    public interface ClientIDGenerator
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      java.lang.String[] filterHTTP​(byte[] hash, java.lang.String[] lines_in)
      For more complex situations a filter approach is used.
      void generateHTTPProperties​(byte[] hash, java.util.Properties properties)
      generate appropriate properties to be supplied to HTTP(S) URL connection If you want to access the torrents then you need to decode the URL to extract the hashes and then look them up (for scrape there could be multiple torrents) Enabled when the generator isn't specified as a filter
      byte[] generatePeerID​(byte[] hash, boolean for_tracker)
      generate a peer id - must be exactly 20 bytes
      java.lang.Object getProperty​(byte[] hash, java.lang.String property_name)  
    • Method Detail

      • generatePeerID

        byte[] generatePeerID​(byte[] hash,
                              boolean for_tracker)
                       throws ClientIDException
        generate a peer id - must be exactly 20 bytes
        Parameters:
        torrent -
        for_tracker - generator to give to tracker or for peer-peer comms
        Returns:
        Throws:
        ClientIDException
      • generateHTTPProperties

        void generateHTTPProperties​(byte[] hash,
                                    java.util.Properties properties)
                             throws ClientIDException
        generate appropriate properties to be supplied to HTTP(S) URL connection If you want to access the torrents then you need to decode the URL to extract the hashes and then look them up (for scrape there could be multiple torrents) Enabled when the generator isn't specified as a filter
        Parameters:
        torrent -
        properties -
        Throws:
        ClientIDException
      • filterHTTP

        java.lang.String[] filterHTTP​(byte[] hash,
                                      java.lang.String[] lines_in)
                               throws ClientIDException
        For more complex situations a filter approach is used. The lines of the request are passed in for modification and return Enabled when the generator is specified as a filter
        Parameters:
        lines_in -
        Returns:
        Throws:
        ClientIDException
      • getProperty

        java.lang.Object getProperty​(byte[] hash,
                                     java.lang.String property_name)