NAME
Net::BitTorrent::Session - .torrent session
CONSTRUCTOR
new ( { [ARGS] } )-
Creates a
Net::BitTorrent::Sessionobject. This constructor is called by Net::BitTorrent::add_session() and should not be used directly.new ( )accepts arguments as a hash, using key-value pairs:path-
Filename of the .torrent file to load.
This is the only required parameter.
base_dir-
Base directory used to store the files related to this session. This directory is created if not preexisting.
Default:
./(Current working directory) block_length-
Length of blocks we request from peers of this session. This should not be changed as it can greatly affect performance.
Default: 32768 (
2**15)
METHODS
Unless stated, all methods return either a true or false value, with true meaning that the operation was a success. When a method states that it returns a value, failure will result in undef or an empty list.
add_tracker ( URLS )-
Add a new Net::BitTorrent::Session::Tracker tier to the session. Accepts a list of URLs.
See also: trackers ( )
append_nodes ( STRING )-
Adds a string of compacted nodes to the list of potential peers.
See also: compact_nodes ( ), nodes ( ), Net::BitTorrent::Util::compact( )
as_string ( [ VERBOSE ] )-
Returns a 'ready to print' dump of the
Net::BitTorrent::Sessionobject's data structure. If called in void context, the structure is printed toSTDERR.See also: [id://317520], Net::BitTorrent::as_string()
bitfield ( )-
Returns a bitfield representing the pieces that have been successfully downloaded.
block_size ( [NEWVAL] )-
Mutator to get and/or set the size used when requesting data from peers. Use with care.
See also: Net::BitTorrent::maximum_buffer_size( ), theory.org (http://tinyurl.com/32k7wu), discussion (http://tinyurl.com/4ekea2)
client ( )-
Returns the Net::BitTorrent object related to this session.
close_files ( )-
Forces the closure of all related Net::BitTorrent::Session::File objects with open file handles.
Under normal circumstances, this should not be called in clients.
compact_nodes ( )-
Returns a list of potential peers as a compacted string.
See also: nodes ( ), Net::BitTorrent::Util::compact( ) Net::BitTorrent::Util::uncompact( )
complete ( )-
Boolean value indicating whether or not we have finished downloading all pieces we want.
See also: Net::BitTorrent::Session::Piece
downloaded ( )-
Returns the total amount of data downloaded during the current session.
See also: uploaded ( )
files ( )-
Returns a list of Net::BitTorrent::Session::File objects representing all files contained in the related .torrent file.
hash_check ( )-
Verifies the integrity of all files associated with this session.
This is a blocking method; all processing will stop until this function returns.
infohash ( )-
Returns the 20 byte SHA1 hash used to identify this session internally, with trackers, and with remote peers.
nodes ( )-
Returns a list of potential peers.
To receive a compacted list of nodes (to use in a quick resume system, for example), see compact_nodes( ).
peers ( )-
Returns a list of all related Net::BitTorrent::Session::Peer objects.
piece_count ( )-
Returns the number of Net::BitTorrent::Session::Piece objects related to this session.
piece_size ( )-
Returns the piece size defined in the .torrent file.
pieces ( )-
Returns a list of Net::BitTorrent::Session::Piece objects.
private ( )-
Returns a bool value indicating whether or not this session is allowed to use DHT and other Peer Exchange protocols.
total_size ( )-
Returns the total size of all files listed in the .torrent file.
trackers ( )-
Returns a list of all Net::BitTorrent::Session::Tracker objects related to the session.
See also: add_tracker ( )
uploaded ( )-
Returns the total amount of data uploaded during the current session.
See also: downloaded ( )
AUTHOR
Sanko Robinson <sanko@cpan.org> - http://sankorobinson.com/
CPAN ID: SANKO
LICENSE AND LEGAL
Copyright 2008 by Sanko Robinson <sanko@cpan.org>
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See http://www.perl.com/perl/misc/Artistic.html or the LICENSE file included with this module.
All POD documentation is covered by the Creative Commons Attribution-Noncommercial-Share Alike 3.0 License (http://creativecommons.org/licenses/by-nc-sa/3.0/us/).
Neither this module nor the AUTHOR is affiliated with BitTorrent, Inc.