Project

General

Profile

Home » History » Version 20

Greg Burri, 11/26/2008 01:54 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 20 Greg Burri
* Core and GUI independent. They communicate over TCP socket.
12 18 Greg Burri
* Designed for LAN usage (full trusted peers).
13
* Efficient (very low cpu usage).
14
* Distributed download (multi peer downloading and no central server).
15 16 Greg Burri
** Quicker seed 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 from a quicker free seed.
16
** Rarest parts first.
17
** A part can be resumed from any peer.
18
** 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.
19 18 Greg Burri
** Recursive folder downloading.
20
* There is a general chat.
21
* Multicast UDP for services discovering (maybe UPNP).
22
* MDI GUI with GTK2HS.
23
** A panel to view the current peers.
24
** A window to view the current downloads (leechage) and one for the current uploads (seedage).
25
** A window for the chat.
26
** A window for searching.
27
** Some windows for each file browsing.
28
** A modal window for the settings.
29
*** The shared folders.
30
*** The incoming folders (take the first if enough available space disk otherwise the second and so one..).
31
*** Bandwidth limitation.
32
* File list with name+size.
33
* Non blocking search.
34
* Using of systray (optional).
35
* Free space management.
36 19 Greg Burri
* Graphics of the transfer rate over time.