Class MagnetPlugin

  • All Implemented Interfaces:
    Plugin

    public class MagnetPlugin
    extends java.lang.Object
    implements Plugin
    • Field Detail

      • SECONDARY_LOOKUP

        private static final java.lang.String SECONDARY_LOOKUP
        See Also:
        Constant Field Values
      • SECONDARY_LOOKUP_DELAY

        private static final int SECONDARY_LOOKUP_DELAY
        See Also:
        Constant Field Values
      • SECONDARY_LOOKUP_MAX_TIME

        private static final int SECONDARY_LOOKUP_MAX_TIME
        See Also:
        Constant Field Values
      • MD_LOOKUP_DELAY_SECS_DEFAULT

        private static final int MD_LOOKUP_DELAY_SECS_DEFAULT
        See Also:
        Constant Field Values
      • MD_EXTRA_TRACKERS

        private static final java.lang.String[] MD_EXTRA_TRACKERS
      • PLUGIN_CONFIGSECTION_ID

        private static final java.lang.String PLUGIN_CONFIGSECTION_ID
        See Also:
        Constant Field Values
      • SOURCE_VALUES

        public static final java.lang.String[] SOURCE_VALUES
      • SOURCE_KEYS

        public static final java.lang.String[] SOURCE_KEYS
      • SOURCE_STRINGS

        public static final java.lang.String[] SOURCE_STRINGS
      • DM_TAG_CACHE

        protected static final java.lang.Object DM_TAG_CACHE
      • DM_CATEGORY_CACHE

        protected static final java.lang.Object DM_CATEGORY_CACHE
      • first_download

        private boolean first_download
      • PLUGIN_DOWNLOAD_TIMEOUT_SECS_DEFAULT

        private static final int PLUGIN_DOWNLOAD_TIMEOUT_SECS_DEFAULT
        See Also:
        Constant Field Values
      • sources_extra_param

        private IntParameter sources_extra_param
      • magnet_recovery_concurrency

        private IntParameter magnet_recovery_concurrency
      • net_params

        private java.util.Map<java.lang.String,​BooleanParameter> net_params
    • Constructor Detail

      • MagnetPlugin

        public MagnetPlugin()
    • Method Detail

      • initialize

        public void initialize​(PluginInterface _plugin_interface)
        Description copied from interface: Plugin
        This method is called when the Plugin is loaded by the client
        Specified by:
        initialize in interface Plugin
        Parameters:
        _plugin_interface - the interface that the plugin must use to communicate with the client
      • addSource

        public java.lang.String addSource​(Download download,
                                          java.lang.String magnet,
                                          java.net.InetSocketAddress address)
      • recoverDownloads

        private void recoverDownloads()
      • updateRecoverableDownloads

        private void updateRecoverableDownloads()
      • isNetworkEnabled

        public boolean isNetworkEnabled​(java.lang.String net)
      • getMagnetURL

        public java.net.URL getMagnetURL​(byte[] hash)
      • getExtraTrackers

        public java.util.List<java.lang.String> getExtraTrackers()
      • badge

        public byte[] badge()
      • addTrackersAndWebSeedsEtc

        private byte[] addTrackersAndWebSeedsEtc​(MagnetPlugin.DownloadResult result,
                                                 java.lang.String args,
                                                 java.util.List<java.lang.String> tags,
                                                 java.util.Map<java.lang.String,​java.lang.Object> other_metadata)
      • addTrackersAndWebSeedsEtc

        private byte[] addTrackersAndWebSeedsEtc​(byte[] torrent_data,
                                                 java.lang.String args,
                                                 java.util.Set<java.lang.String> networks,
                                                 java.util.List<java.lang.String> initial_tags,
                                                 java.util.Map<java.lang.String,​java.lang.Object> other_metadata)
      • getInitialTags

        protected java.util.List<java.lang.String> getInitialTags​(DownloadManager from_dm)
      • updateInitialMetadata

        protected boolean updateInitialMetadata​(java.util.Map map,
                                                DownloadManager from_dm)
      • setInitialMetadata

        protected void setInitialMetadata​(DownloadManager to_dm,
                                          java.util.List<java.lang.String> tags,
                                          java.util.Map<java.lang.String,​java.lang.Object> other_metadata)
      • setInitialMetadata

        private boolean setInitialMetadata​(TOTorrent torrent,
                                           java.util.List<java.lang.String> tags,
                                           java.util.Map<java.lang.String,​java.lang.Object> other_metadata)
      • doSecondaryLookup

        protected void doSecondaryLookup​(MagnetPluginProgressListener listener,
                                         java.lang.Object[] result,
                                         byte[] hash,
                                         java.util.Set<java.lang.String> networks_enabled,
                                         java.lang.String args)
      • getMessageText

        protected java.lang.String getMessageText​(java.lang.String resource,
                                                  java.lang.String... params)