The krpc package

[Tags:bsd3, library]

KRPC remote procedure call protocol implementation.


[Skip to Readme]

Properties

Versions 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.*), bencoding (==0.3.*), bytestring (>=0.10), containers (>=0.4), krpc, lifted-base (>=0.1.1), monad-control (>=0.3), network (>=2.3), transformers (>=0.2) [details]
License BSD3
Copyright (c) 2013, Sam Truzjan
Author Sam Truzjan
Maintainer Sam Truzjan <pxqr.sta@gmail.com>
Stability Unknown
Category Network
Home page https://github.com/cobit/krpc
Bug tracker https://github.com/cobit/krpc/issues
Source repository head: git clone git://github.com/cobit/krpc.git -b master
this: git clone git://github.com/cobit/krpc.git -b master(tag v0.4.0.1)
Uploaded Thu Oct 3 12:53:33 UTC 2013 by SamTruzjan
Distributions NixOS:0.6.1.0
Downloads 2123 total (38 in the last 30 days)
Votes
0 []
Status Docs available [build log]
Successful builds reported [all 1 reports]

Modules

[Index]

Downloads

Maintainer's Corner

For package maintainers and hackage trustees

Readme for krpc

Readme for krpc-0.4.0.1

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.