Project

General

Profile

Actions

Protocol core-core Version 3 » History » Revision 16

« Previous | Revision 16/73 (diff) | Next »
Greg Burri, 07/07/2009 09:10 PM


Protocols

This page describes the protocols used by Aybabtu for network communication between cores and between core and GUI.

Core <-> Core

see source:protos/network_protocol.proto.

Parameters

Most parameters will be stored as constants in their component.

Name Value Unit Explanation/Comments
ChunkSize 33554432 [Byte] (32 MB)
LanSpeed 52428800 [Byte/s] (50 MB/s)
TimeRecheckChunkFactor 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
SwitchToAnotherPeerFactor 1.5 - During the recheck of the peers to choose a better one the other download rate must be above the current * SwitchToAnotherPeerFactor
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.
TimeBetweenChunksUpdate 500 / LanSpeed = 10 s [s] Each 10 s a daemon will scan the NumberOfChunkToUpdate first chunks from the first queued downloads to know which peer has which chunk.
NumberOfChunkToUpdate 100 * LanSpeed / ChunkSize = 156 - The first 156 chunks (3 kB) will by send periodically to each peer.

Core <-> GUI

Updated by Greg Burri over 15 years ago · 16 revisions