Project

General

Profile

Protocol core-core Version 3 » History » Version 14

Greg Burri, 07/07/2009 09:00 PM

1 1 Greg Burri
h1. Protocols
2
3
This page describes the protocols used by Aybabtu for network communication between cores and between core and GUI.
4
5 7 Greg Burri
h2. Core <-> Core
6 1 Greg Burri
7 7 Greg Burri
see source:protos/network_protocol.proto.
8
9 8 Greg Burri
h3. Parameters
10
11 10 Greg Burri
Most parameters will be stored as constants in their component.
12
13 9 Greg Burri
|_.Name|_.Value |_.Unit|_.Explanation/Comments|
14 14 Greg Burri
| _ChunkSize_ | 33554432 | [Byte] | (32 MB) |
15
| _LanSpeed_ | 52428800 | [Byte/s] | (50 MB/s) |
16 1 Greg Burri
| _TimeRecheckChunkFactorv | 4 | - | If the time to download a chunk exceeds _TimeRecheckChunkFactor_ * ChunkSize / LanSpeed then the peers are rescanned to choose a better one (better download rate). For example : 4 * 32 / 50 = 2.6 second |
17 13 Greg Burri
| _SwitchToAnotherPeerFactor_ | 1.5 | - | During the recheck of the peers to choose a better one the other download rate must be above the current * _SwitchToAnotherPeerFactor_ |
18 14 Greg Burri
| _DownloadRateValidTime_ | 1500 / _LanSpeed_ = 300 s | [s] | (5 min). The download rate of a peer is valid this time after its last update. After that it's equals to the maximum. | 
19
| _TimeBetweenChunksUpdate_ | 500 / _LanSpeed_ = 10 s | [s] | Each 10 s a daemon will scan the __ first chunks from the first queued downloads to know which peer has which chunk. |
20 8 Greg Burri
21 7 Greg Burri
h2. Core <-> GUI