Sources per chunk
Sets how many sources MLdonkey will try to use to download each chunk.
\"The exact algorithm is a bit complex, and can be found in donkeyOneFile.ml, in find_client_block.
If mldonkey is connected to a source that has both
- a chunk that is being downloaded from less than max_sources_per_chunk sources
- and another that is not being downloaded
it will use that source to download parts of the first chunk, like the other sources.
max_sources_per_chunk = 1 is the default behavior of mldonkey (try to use each source to download a different chunk), with higher values mldonkey will try harder to finishing partially downloaded chunks. \" %%%
max_sources_per_chunk = 1 would have been the best choice if sources sent a full chunk at a time, but it seems that eMule is not currently doing this. This is debated between eMule devs, so it may be fixed in near future.
Remark: max_sources_per_chunk > 1 is not as effective as it should be because I forgot to remove some code when I implemented it. If you really want to experiment with this setting, apply this patch first :
--- donkey/donkeyOneFile.ml 22 Jan 2003 23:28:33 -0000 1.22 +++ donkey/donkeyOneFile.ml 24 Jan 2003 10:48:11 -0000 @@ -673,7 +673,7 @@ if c.client_chunks.(j) && (match file.file_chunks.(j) with AbsentVerified -> true - || PartialVerified b when b.block_nclients = 0 -> true + || PartialVerified b -> true || _ -> false ) then check_file_block c file j !!sources_per_chunk @@ -685,7 +685,7 @@ if c.client_chunks.(j) && (match file.file_chunks.(j) with AbsentTemp -> true - || PartialTemp b when b.block_nclients = 0 -> true + || PartialTemp b -> true || _ -> false ) then check_file_block c file j !!sources_per_chunk
(Also available here: )