Portability | portable |
---|---|
Stability | experimental |
Maintainer | pxqr.sta@gmail.com |
Safe Haskell | Safe-Inferred |
ClientInfo
is used to identify the client implementation and
version which also contained in Peer
. For exsample first 6
bytes of peer id of this this library are -HS0100-
while for
mainline we have M4-3-6--
. We could extract this info and
print in human-friendly form: this is useful for debugging and
logging.
For more information see: http://bittorrent.org/beps/bep_0020.html
NOTE: Do _not_ use this information to control client
capabilities (such as supported enchancements), this should be
done using Extension
!
- data ClientImpl
- = IUnknown
- | IAres
- | IArctic
- | IAvicora
- | IBitPump
- | IAzureus
- | IBitBuddy
- | IBitComet
- | IBitflu
- | IBTG
- | IBitRocket
- | IBTSlave
- | IBittorrentX
- | IEnhancedCTorrent
- | ICTorrent
- | IDelugeTorrent
- | IPropagateDataClient
- | IEBit
- | IElectricSheep
- | IFoxTorrent
- | IGSTorrent
- | IHalite
- | IlibHSbittorrent
- | IHydranode
- | IKGet
- | IKTorrent
- | ILH_ABC
- | ILphant
- | ILibtorrent
- | ILibTorrent
- | ILimeWire
- | IMonoTorrent
- | IMooPolice
- | IMiro
- | IMoonlightTorrent
- | INetTransport
- | IPando
- | IqBittorrent
- | IQQDownload
- | IQt4TorrentExample
- | IRetriever
- | IShareaza
- | ISwiftbit
- | ISwarmScope
- | ISymTorrent
- | Isharktorrent
- | ITorrentDotNET
- | ITransmission
- | ITorrentstorm
- | ITuoTu
- | IuLeecher
- | IuTorrent
- | IVagaa
- | IBitLet
- | IFireTorrent
- | IXunlei
- | IXanTorrent
- | IXtorrent
- | IZipTorrent
- ppClientImpl :: ClientImpl -> Doc
- newtype ClientVersion = ClientVersion {}
- ppClientVersion :: ClientVersion -> Doc
- data ClientInfo = ClientInfo {}
- ppClientInfo :: ClientInfo -> Doc
- libClientInfo :: ClientInfo
Client implementation
data ClientImpl Source
List of registered client versions + IlibHSbittorrent (this package) + Unknown (for not recognized software). All names are prefixed by I because some of them starts from lowercase letter but that is not a valid Haskell constructor name.
Bounded ClientImpl | |
Enum ClientImpl | |
Eq ClientImpl | |
Ord ClientImpl | |
Show ClientImpl | |
Default ClientImpl | Used to represent a not recognized implementation |
ppClientImpl :: ClientImpl -> DocSource
Format client implementation info in human-readable form.
Client version
newtype ClientVersion Source
Version of client software, normally extracted from peer id.
Eq ClientVersion | |
Ord ClientVersion | |
Show ClientVersion | |
Default ClientVersion | Just the '0' version. |
ppClientVersion :: ClientVersion -> DocSource
Format client implementation version in human-readable form.
Client information
data ClientInfo Source
The all sensible infomation that can be obtained from a peer identifier or torrent createdBy field.
Eq ClientInfo | |
Ord ClientInfo | |
Show ClientInfo | |
Default ClientInfo | Unrecognized client implementation. |
ppClientInfo :: ClientInfo -> DocSource
Format client info in human-readable form.
libClientInfo :: ClientInfoSource
Client info of this (the bittorrent library) package. Normally,
applications should introduce its own idenitifiers, otherwise they
can use libClientInfo
value.