Architecture » History » Version 8
Greg Burri, 07/29/2009 02:40 PM
| 1 | 1 | Greg Burri | h1. Architecture |
|---|---|---|---|
| 2 | |||
| 3 | 5 | Greg Burri | |
| 4 | 4 | Greg Burri | h2. Core |
| 5 | |||
| 6 | 3 | Greg Burri | !core_components.png! |
| 7 | 2 | Greg Burri | |
| 8 | 6 | Greg Burri | h3. [[FileManager]] |
| 9 | |||
| 10 | 7 | Greg Burri | * Kept up to date the list of shared files |
| 11 | 6 | Greg Burri | * Can make fast search with indexed words |
| 12 | 7 | Greg Burri | * Cuts file in chunks |
| 13 | 6 | Greg Burri | * Each chunk has a hash and can be read or write |
| 14 | * The directory structure can be browse |
||
| 15 | * Theses data (files/dirs/chunks/hashes) are persisted |
||
| 16 | |||
| 17 | 1 | Greg Burri | |
| 18 | 8 | Greg Burri | h3. [[NetworkListener]] |
| 19 | |||
| 20 | * Listen for new TCP connections from peers. Forward it to the _PeerManager_. |
||
| 21 | * Listen for new UDP datagrams. |
||
| 22 | * Provides some interfaces to listen some events like : |
||
| 23 | ** New chat message |
||
| 24 | ** New search result |
||
| 25 | * Send periodically an UDP datagram to show its presence. |
||
| 26 | ** This message contains the top chunks |
||
| 27 | ** For each chunk the known IP's are gave to the _DownloadManager_ |
||
| 28 | |||
| 29 | |||
| 30 | h3. [[DownloadManager]] |
||
| 31 | |||
| 32 | * Has a download list with different status |
||
| 33 | * Has a pool of downloader which will choose a free chunk and : |
||
| 34 | ** Download it from a know peer. |
||
| 35 | ** Ask first the chunk's peer source for the hashes if they are unknown |
||
| 36 | |||
| 37 | |||
| 38 | 1 | Greg Burri | h2. GUI |
| 39 | 5 | Greg Burri | |
| 40 | |||
| 41 | h2. Common |
||
| 42 | |||
| 43 | h3. [[LogManager]] |
||
| 44 | |||
| 45 | 7 | Greg Burri | * Logs some kind of severity messages |
| 46 | 5 | Greg Burri | * Can store the log in a file |
| 47 | * Used by Core and GUI |