Protocol core-core Version 3 » History » Revision 64
Revision 63 (Greg Burri, 04/05/2011 10:03 PM) → Revision 64/73 (Greg Burri, 04/05/2011 11:48 PM)
h1. Protocol core-core This page describes the protocol used by D-LAN for network communication between cores. See source:application/Protos/core_protocol.proto for message details. !network_protocol.png! h2. Parameters Most parameters will be stored as constants in their component. The given values below are just for illustrate with an example, they will be defined in a empiric manner later. |_.Name|_.Value |_.Unit|_.Explanation/Comments| | _ChunkSize_ | 67108864 | [Byte] | (64 MB) | | _LanSpeed_ | 52428800 | [Byte/s] | (50 MB/s) | | _TimeRecheckChunkFactor_ | 4 | - | If the time to download a chunk exceeds _TimeRecheckChunkFactor_ * _ChunkSize_ / _LanSpeed_ the peers are rescanned to choose a better one (better download rate). For example : 4 * 64 / 50 = 5 second | | _SwitchToAnotherPeerFactor_ | 1.5 | - | During the recheck of the peers to choose a better one the download rate of the candidate must be above the current * 1.5. | | _DownloadRateValidTime_ | 1500 / _LanSpeed_ = 30 s | [s] | The download rate of a peer is only valid during this time after its last update. After that its rate is set to the maximum. | | _IMAliveFrequency_ | 10 s | [s] | The message _IMAlive_ is sent each 10s. | | _NbDownloadThread_ | 3 | - | Number of concurrent downloading thread. | | _BufferSize_ | 65535 | [Byte] | (64 KiB). This buffer is used when reading or writing a file. | | _TCPSocketBufferSize_ | 65535 | [Byte] | (64 KiB). Used when data are received. See _QAbstractSocket::setReadBufferSize_. | | _TCPPeerConnectionKeepAlive_ | 60 | [s] | (1 min). There's can be one or more connection to a certain peer, these connections are kept alive for a period of time. For each known peer there is a pool of connection. |