Net::BitTorrent::Protocol - Basic, Protocol-level BitTorrent Utilities
use Net::BitTorrent::Protocol;
...
In addition to the functions found in Net::BitTorrent::Protocol::BEP03, Net::BitTorrent::Protocol::BEP03::Bencode, Net::BitTorrent::Protocol::BEP06, Net::BitTorrent::Protocol::BEP07, Net::BitTorrent::Protocol::BEP09, Net::BitTorrent::Protocol::BEP10, Net::BitTorrent::Protocol::BEP23, Net::BitTorrent::Protocol::BEP44, TODO..., a function which wraps all the packet parsing functions is provided:
-
parse_packet( \$data )
Attempts to parse any known packet from the data (a scalar ref) passed to it. On success, the payload and type are returned and the packet is removed from the incoming data reference.
undef
is returned on failure and the data in the reference is unchanged.
You may import from this module manually...
use Net::BitTorrent::Protocol 'build_handshake';
...or by using one or more of the provided tags:
use Net::BitTorrent::Protocol ':all';
Supported tags include...
-
all
Imports everything.
-
build
Imports all packet building functions from BEP03, BEP03, BEP06, BEP06, and BEP10.
-
bencode
Imports the bencode and bdecode functions found in BEP03.
-
compact
Imports the compact and inflation functions for IPv4 (BEP23) and IPv6 (BEP07) peer lists.
-
dht
-
parse
Imports all packet parsing functions from BEP03, BEP06, and BEP10 as well as the locally defined
parse_packet( ... )
function. -
types
Imports the packet type values from BEP03, BEP06, and BEP10.
-
utils
Imports the utility functions from BEP06.
AnyEvent::BitTorrent - Simple client which uses Net::BitTorrent::Protocol
http://bittorrent.org/beps/bep\_0003.html - The BitTorrent Protocol Specification
http://bittorrent.org/beps/bep\_0006.html - Fast Extension
http://bittorrent.org/beps/bep\_0009.html - Extension for Peers to Send Metadata Files
http://bittorrent.org/beps/bep\_0010.html - Extension Protocol
http://bittorrent.org/beps/bep\_0044.html - Storing arbitrary data in the DHT
http://wiki.theory.org/BitTorrentSpecification - An annotated guide to the BitTorrent protocol
Net::BitTorrent::PeerPacket - by Joshua McAdams
Protocol::BitTorrent - by Tom Molesworth
Sanko Robinson sanko@cpan.org - http://sankorobinson.com/
CPAN ID: SANKO
Copyright (C) 2008-2014 by Sanko Robinson sanko@cpan.org
This program is free software; you can redistribute it and/or modify it under
the terms of
The Artistic License 2.0.
See the LICENSE
file included with this distribution or
notes on the Artistic License 2.0
for clarification.
When separated from the distribution, all original POD documentation is covered by the Creative Commons Attribution-Share Alike 3.0 License. See the clarification of the CCA-SA3.0.
Neither this module nor the Author is affiliated with BitTorrent, Inc.