krpc: KRPC protocol implementation

[ bsd3, library, network ] [ Propose Tags ] [ Report a vulnerability ]

The KRPC protocol is a simple RPC mechanism consisting of bencoded dictionaries sent over UDP.

http://bittorrent.org/beps/bep_0005.html#krpc-protocol


[Skip to Readme]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

Versions [RSS] 0.1.0.0, 0.2.0.0, 0.2.2.0, 0.3.0.0, 0.4.0.0, 0.4.0.1, 0.4.1.0, 0.4.1.1, 0.5.0.0, 0.6.0.0, 0.6.1.0
Change log ChangeLog
Dependencies base (>=4 && <5), bencoding (>=0.4.3), bytestring (>=0.10), containers, data-default-class, ghc-prim, lifted-base (>=0.1.1), monad-control (>=0.3), monad-logger (>=0.3), mtl, network (>=2.3), text (>=0.11), transformers (>=0.2) [details]
Tested with ghc ==7.4.1, ghc ==7.6.3
License BSD-3-Clause
Copyright (c) 2013-2014 Sam Truzjan
Author Sam Truzjan
Maintainer Sam Truzjan <pxqr.sta@gmail.com>
Category Network
Home page https://github.com/cobit/krpc
Bug tracker https://github.com/cobit/krpc/issues
Source repo head: git clone git://github.com/cobit/krpc.git -b master
this: git clone git://github.com/cobit/krpc.git -b master(tag v0.6.1.0)
Uploaded by SamTruzjan at 2014-02-19T01:25:08Z
Distributions
Reverse Dependencies 2 direct, 0 indirect [details]
Downloads 7826 total (26 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Successful builds reported [all 1 reports]

Readme for krpc-0.6.1.0

[back to package description]

Synopsis

KRPC is simple remote procedure call mechanism used by bittorrent DHT but might be used anywhere else.

Description

KRPC basically consisting of bencoded dictionaries sent over UDP. This implementation provides extra safiety by separation of procedure signature and implementation and baking procedure type in host language, thus it's hard to shoot yourself in the foot accidently.

See bittorrent DHT specification for detailed protocol description.

Example

TODO

Modules

  • Remote.KRPC — simple interface which reduce all RPC related stuff to a few lines. Should be used in the first place.

  • Remote.KRPC.Protocol — raw protocol implementation.

  • Remote.KRPC.Scheme — message validation.

Documentation

For usage see examples in examples directory. For documentation see haddock generated documentation.

Build Status Build Status

Maintainer pxqr.sta@gmail.com

Feel free to report bugs and suggestions via github issue tracker or the mail.