Home » History » Version 28
Greg Burri, 11/26/2008 08:22 PM
| 1 | 1 | Greg Burri | h1. Home |
|---|---|---|---|
| 2 | |||
| 3 | 3 | Greg Burri | * [[Study of bittorent protocol]] |
| 4 | 8 | Greg Burri | * [[Study of UPNP]] |
| 5 | 17 | Greg Burri | * [[Protocol]] |
| 6 | 3 | Greg Burri | |
| 7 | 1 | Greg Burri | h2. Description |
| 8 | |||
| 9 | 4 | Greg Burri | A bit brainstormed for the moment ;) |
| 10 | |||
| 11 | 21 | Greg Burri | * Core and GUI are independent. They communicate over TCP socket. |
| 12 | ** It is possible to launch the core without the GUI. The core does not depend of any kind of graphic library. |
||
| 13 | ** If the GUI crashes then the core remains. |
||
| 14 | 22 | Greg Burri | * Designed for LAN usage (full trusted peers and very high speed transfers). |
| 15 | 18 | Greg Burri | * Efficient (very low cpu usage). |
| 16 | * Distributed download (multi peer downloading and no central server). |
||
| 17 | 27 | Greg Burri | ** Quicker peer first. The speed of a peer is an average over a period of time say 5 min. A speed of a peer can be unknown. If a downloading is too slow (like three time slower than the best known peer) then it can switch to a quicker free peer. |
| 18 | 16 | Greg Burri | ** Rarest parts first. |
| 19 | ** A part can be resumed from any peer. |
||
| 20 | ** Fixed part size (2^24 B = 16 MB) hashed with SHA-1. Used to control the integrity of parts and to identify a file. A file is identified by the concatenation of all the SHA1 of all its parts. If the SHA-1 of a part does not match with the given SHA-1 then it will be re-downloaded entirely. |
||
| 21 | 18 | Greg Burri | ** Recursive folder downloading. |
| 22 | * There is a general chat. |
||
| 23 | 25 | Greg Burri | * Multicast UDP for services discovering (maybe UPNP). Each peer announces periodically he is alive with a multicast message. |
| 24 | 18 | Greg Burri | * MDI GUI with GTK2HS. |
| 25 | ** A panel to view the current peers. |
||
| 26 | ** A window to view the current downloads (leechage) and one for the current uploads (seedage). |
||
| 27 | ** A window for the chat. |
||
| 28 | ** A window for searching. |
||
| 29 | ** Some windows for each file browsing. |
||
| 30 | ** A modal window for the settings. |
||
| 31 | *** The shared folders. |
||
| 32 | *** The incoming folders (take the first if enough available space disk otherwise the second and so one..). |
||
| 33 | *** Bandwidth limitation. |
||
| 34 | 28 | Greg Burri | * Using of "Thrift":http://incubator.apache.org/thrift/ for definition of the protocol between two peers and between the Core and the Gui. |
| 35 | 18 | Greg Burri | * File list with name+size. |
| 36 | * Non blocking search. |
||
| 37 | * Using of systray (optional). |
||
| 38 | * Free space management. |
||
| 39 | 19 | Greg Burri | * Graphics of the transfer rate over time. |