Class TorrentManagerImpl
java.lang.Object
com.biglybt.pifimpl.local.torrent.TorrentManagerImpl
- All Implemented Interfaces:
TOTorrentProgressListener
,TorrentManager
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static Map<String,
TorrentAttribute> private static TorrentAttribute
private static AEMonitor
private static TorrentAttribute
private static TorrentAttribute
protected static CopyOnWriteList<TorrentManagerListener>
private static TorrentAttribute
private static TorrentAttribute
protected PluginInterface
private static TorrentAttribute
private static TorrentAttribute
private static TorrentManagerImpl
private static TorrentAttribute
Fields inherited from interface com.biglybt.pif.torrent.TorrentManager
PRESERVE_ALL, PRESERVE_ENCODING, PRESERVE_NONE
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
createFromBEncodedData
(byte[] data) decodes a torrent encoded using the normal "bencoding" rules from a byte arraycreateFromBEncodedData
(byte[] data, int preserve) decodes a torrent encoded using the normal "bencoding" rules from a byte arraycreateFromBEncodedFile
(File file) decodes a torrent encoded using the normal "bencoding" rules from a filecreateFromBEncodedFile
(File file, boolean for_seeding) decodes a torrent encoded using the normal "bencoding" rules from a file but discards the piece hashes to save memory.createFromBEncodedFile
(File file, int preserve) decodes a torrent encoded using the normal "bencoding" rules from a filedecodes a torrent encoded using the normal "bencoding" rules from an InputStreamcreateFromBEncodedInputStream
(InputStream data, int preserve) decodes a torrent encoded using the normal "bencoding" rules from an InputStreamcreateFromDataFile
(File data, URL announce_url) creates a new torrent from an input filecreateFromDataFile
(File data, URL announce_url, boolean include_other_hashes) createFromDataFileEx
(File data, URL announce_url, boolean include_other_hashes) private void
getAttribute
(String name) Gives access to the standard built-in attributesGives access to the currently defined torrent attributes.getPluginAttribute
(String name) Gives access to/creates arbitrary String attributes for plugins to use.static TorrentManagerImpl
getURLDownloader
(URL url) getURLDownloader
(URL url, String user_name, String password) void
optionsAccepted
(TorrentOpenOptions options) void
optionsAdded
(TorrentOpenOptions options) void
optionsRemoved
(TorrentOpenOptions options) private TOTorrent
preserveFields
(TOTorrent torrent, int preserve) void
void
reportCurrentTask
(String task_description) void
reportProgress
(int percent_complete) protected void
tryToSetDefaultTorrentEncoding
(TOTorrent torrent) protected void
tryToSetTorrentEncoding
(TOTorrent torrent, String encoding)
-
Field Details
-
singleton
-
class_mon
-
category_attribute
-
networks_attribute
-
peer_sources_attribute
-
tr_ext_attribute
-
disp_name_attribute
-
comment_attribute
-
relative_save_path_attribute
-
attribute_map
-
listeners
-
plugin_interface
-
too_state
-
-
Constructor Details
-
TorrentManagerImpl
-
-
Method Details
-
getSingleton
-
specialise
-
getURLDownloader
- Specified by:
getURLDownloader
in interfaceTorrentManager
- Throws:
TorrentException
-
getURLDownloader
public TorrentDownloader getURLDownloader(URL url, String user_name, String password) throws TorrentException - Specified by:
getURLDownloader
in interfaceTorrentManager
- Throws:
TorrentException
-
createFromBEncodedFile
Description copied from interface:TorrentManager
decodes a torrent encoded using the normal "bencoding" rules from a file- Specified by:
createFromBEncodedFile
in interfaceTorrentManager
- Returns:
- Throws:
TorrentException
-
createFromBEncodedFile
Description copied from interface:TorrentManager
decodes a torrent encoded using the normal "bencoding" rules from a file but discards the piece hashes to save memory. note that this means that if something reads the hashes they will be re-read from the torrent file and if the file has since been deleted things go smelly- Specified by:
createFromBEncodedFile
in interfaceTorrentManager
for_seeding
- reduces memory usage by discarding piece hashes- Returns:
- Throws:
TorrentException
-
createFromBEncodedInputStream
Description copied from interface:TorrentManager
decodes a torrent encoded using the normal "bencoding" rules from an InputStream- Specified by:
createFromBEncodedInputStream
in interfaceTorrentManager
- Returns:
- Throws:
TorrentException
-
createFromBEncodedData
Description copied from interface:TorrentManager
decodes a torrent encoded using the normal "bencoding" rules from a byte array- Specified by:
createFromBEncodedData
in interfaceTorrentManager
- Returns:
- Throws:
TorrentException
-
createFromDataFile
Description copied from interface:TorrentManager
creates a new torrent from an input file- Specified by:
createFromDataFile
in interfaceTorrentManager
- Returns:
- Throws:
TorrentException
-
createFromDataFile
public Torrent createFromDataFile(File data, URL announce_url, boolean include_other_hashes) throws TorrentException - Specified by:
createFromDataFile
in interfaceTorrentManager
- Throws:
TorrentException
-
createFromDataFileEx
public TorrentCreator createFromDataFileEx(File data, URL announce_url, boolean include_other_hashes) throws TorrentException - Specified by:
createFromDataFileEx
in interfaceTorrentManager
- Throws:
TorrentException
-
getDefinedAttributes
Description copied from interface:TorrentManager
Gives access to the currently defined torrent attributes. As of 2.1.0.2 only "category" is defined, however in the future more could be added such as "quality", "bit rate" etc.- Specified by:
getDefinedAttributes
in interfaceTorrentManager
- Returns:
-
getAttribute
Description copied from interface:TorrentManager
Gives access to the standard built-in attributes- Specified by:
getAttribute
in interfaceTorrentManager
- Returns:
-
getPluginAttribute
Description copied from interface:TorrentManager
Gives access to/creates arbitrary String attributes for plugins to use. The attribute will be specific to the plugin, so you can use short torrent names like "name", you won't need to add the plugin ID or any other sort of unique identifier to the attribute name.- Specified by:
getPluginAttribute
in interfaceTorrentManager
- Returns:
-
createFromBEncodedData
Description copied from interface:TorrentManager
decodes a torrent encoded using the normal "bencoding" rules from a byte array- Specified by:
createFromBEncodedData
in interfaceTorrentManager
preserve
- PRESERVE_* flags- Returns:
- Throws:
TorrentException
-
createFromBEncodedFile
Description copied from interface:TorrentManager
decodes a torrent encoded using the normal "bencoding" rules from a file- Specified by:
createFromBEncodedFile
in interfaceTorrentManager
preserve
- PRESERVE_* flags- Returns:
- Throws:
TorrentException
-
createFromBEncodedInputStream
public Torrent createFromBEncodedInputStream(InputStream data, int preserve) throws TorrentException Description copied from interface:TorrentManager
decodes a torrent encoded using the normal "bencoding" rules from an InputStream- Specified by:
createFromBEncodedInputStream
in interfaceTorrentManager
preserve
- PRESERVE_* flags- Returns:
- Throws:
TorrentException
-
preserveFields
-
reportProgress
public void reportProgress(int percent_complete) - Specified by:
reportProgress
in interfaceTOTorrentProgressListener
-
reportCurrentTask
- Specified by:
reportCurrentTask
in interfaceTOTorrentProgressListener
-
tryToSetTorrentEncoding
protected void tryToSetTorrentEncoding(TOTorrent torrent, String encoding) throws TorrentEncodingException - Throws:
TorrentEncodingException
-
tryToSetDefaultTorrentEncoding
- Throws:
TorrentException
-
fireEvent
-
optionsAdded
-
optionsAccepted
-
optionsRemoved
-
addListener
- Specified by:
addListener
in interfaceTorrentManager
-
removeListener
- Specified by:
removeListener
in interfaceTorrentManager
-