# Functions
ih is nil if we expect the peer to declare the InfoHash, such as when the peer initiated the connection.
Unmarshals and returns a PEX message.
# Constants
17.
BEP 3.
BEP 10.
https://www.bittorrent.org/beps/bep_0004.html https://wiki.theory.org/BitTorrentSpecification.html#Reserved_Bytes.
https://www.bittorrent.org/beps/bep_0004.html https://wiki.theory.org/BitTorrentSpecification.html#Reserved_Bytes.
https://www.bittorrent.org/beps/bep_0004.html.
http://www.bittorrent.org/beps/bep_0005.html.
http://www.bittorrent.org/beps/bep_0006.html.
https://wiki.theory.org/BitTorrent_Location-aware_Protocol_1.
LibTorrent Extension Protocol, http://www.bittorrent.org/beps/bep_0010.html.
A peer connection initiator can set this when sending a v1 infohash during handshake if they allow the receiving end to upgrade to v2 by responding with the corresponding v2 infohash.
http://bittorrent.org/beps/bep_0009.html.
http://www.bittorrent.org/beps/bep_0011.html.
BEP 52.
14.
15.
BEP 5.
16.
13.
# Structs
http://www.bittorrent.org/beps/bep_0010.html.
This is a lazy union representing all the possible fields for messages.
# Type aliases
Marshals to the smallest compact byte representation.
http://www.bittorrent.org/beps/bep_0010.html.
http://www.bittorrent.org/beps/bep_0010.html.