OCaml Forge

GSoC2011/MLdonkey/API

From Google Summer of Code coordination Wiki

Jump to: navigation, search

This is a draft proposal, if you want to apply remove this sentence and write your name in the field Student.

Synopsis

  • Mentor: find a mentor
  • Student: write your name here
  • Summary: Refactor MLdonkey provided API
  • Required skills:

Description

MLdonkey core downloads files from p2p networks and provides API for external programs to drive the process. Currently this API is :

  • HTTP (web ui) targeted for direct human interaction (but some users try to parse it.. ugly)
  • telnet - ditto, more popular to parse by many client frontends
  • custom binary network protocol - main API for frontends, not very easy to use, not fully documented, not very easy to extend.

Moreover all these API are implemented separately and thus place high maintainence burden.

Goal

Implement single API in MLdonkey core, reimplement existing interfaces (web ui and telnet) with this API, implement additional transport for this API to be easy to use - e.g. JSON RESTful access and/or DBus service.