| Portability | portable |
|---|---|
| Stability | experimental |
| Maintainer | pxqr.sta@gmail.com |
| Safe Haskell | None |
Network.BitTorrent.Core.PeerAddr
Contents
Description
PeerAddr is used to represent peer address. Currently it's
just peer IP and peer port but this might change in future.
- data PeerAddr = PeerAddr {
- peerID :: !(Maybe PeerId)
- peerIP :: !HostAddress
- peerPort :: !PortNumber
- defaultPorts :: [PortNumber]
- peerSockAddr :: PeerAddr -> SockAddr
- connectToPeer :: PeerAddr -> IO Socket
Peer address
Peer address info normally extracted from peer list or peer compact list encoding.
Constructors
| PeerAddr | |
Fields
| |
Instances
| Eq PeerAddr | |
| Ord PeerAddr | |
| Show PeerAddr | |
| Typeable PeerAddr | |
| ToJSON PeerAddr | |
| FromJSON PeerAddr | |
| S.Serialize PeerAddr | The tracker compact peer list compatible encoding. The
For more info see: http://www.bittorrent.org/beps/bep_0023.html |
| Pretty PeerAddr | |
| BEncode PeerAddr | The tracker announce query compatible encoding. |
defaultPorts :: [PortNumber]Source
Ports typically reserved for bittorrent P2P listener.
peerSockAddr :: PeerAddr -> SockAddrSource
Convert peer info from tracker response to socket address. Used for establish connection between peers.
connectToPeer :: PeerAddr -> IO SocketSource
Tries to connect to peer using reasonable default parameters.