patchmldonkey, a multi-networks file-sharing client - Patches: patch #5061, New option small_files_slot_below...

 
 

You are not allowed to post comments on this tracker with your current authentication level.

patch #5061: New option small_files_slot_below to push release of small files

Submitter:  Fabiano <fabtar>
Submitted:  Sun 30 Apr 2006 05:15:31 PM UTC
   
 
Category:  None Priority:  5 - Normal
Status:  Done Assigned to:  None
Open/Closed:  Closed

Jump to the original submission

Mon 12 Jun 2006 08:47:44 PM UTC, comment #6: 

Applied patch to CVS 2006/06/12

spiralvoice <spiralvoice>
Group administrator
Wed 07 Jun 2006 01:05:33 AM UTC, comment #5: 

http://forum.emule-project.net/index.php?showtopic=93222&hl=#
From what I can tell in the code, the only requirements to bypass the upload queue and be given a collection upload slot are that the file must have an "emulecollection" extension and be smaller than 10 KiB.

eMule 0.47a - opcodes.h
#define MAXPRIORITYCOLL_SIZE    10*1024         // max file size for collection file which are allowed to bypass the queu

eMule 0.47a - UploadQueue.cpp

        // emule collection will bypass the queue^
        if (reqfile != NULL && CCollection::HasCollectionExtention(reqfile->GetFileName()) && reqfile->GetFileSize() < (uint64)MAXPRIORITYCOLL_SIZE^
                && !client->IsDownloading() && client->socket != NULL && client->socket->IsConnected())^
        {^
                client->SetCollectionUploadSlot(true);^
                RemoveFromWaitingQueue(client, true);^
                AddUpNextClient(_T("Collection Priority Slot"), client);^
                return;^
        }^
        else^
                client->SetCollectionUploadSlot(false);^


The assumptions of the poster are correct. My proposal for this
feature is to allow all files, default 10kb as an option with
an upper hard-coded limit of 1MB to avoid abuse.

spiralvoice <spiralvoice>
Group administrator
Sat 06 May 2006 07:44:20 AM UTC, comment #4: 

I have a suggestion to imrpove this great feature :-) :

Ciccio's Push Small size , works by giving a credit's push related to size, perhaps we can obtain the same behaviour in the mldonkey's statistical way.

introducing this options /variables:
small_file_size_min= 800 Kbyte
small_file_size_max= 5000 Kbyte

if filesize<small_file_size_min then the small file's slot is immediately granted.
If filesize is between 800 and 5000 the slot is granted with a  probability equal to:
 probability= 70 * (filesize/small_file_size_max)+  30

probability is in %... (it's an ehuristic)

Another idea could be a maximum number of small files granted per hour to avoid abuse.

Another suggested behaviour:
as far as the small file's slot is already assigned , I think that the new requets about small files have to be treated as normal requests with the same probability of other to be accepted.
IN such a situation there is a chanche having 2 or more small files uploads..example: one in normal slot and one in the special slot.
IN such a way the probabbilities became cumulative.

I hope that this bunch of ideas could be of inspiration or handy.



Fabiano <fabtar>
Fri 05 May 2006 10:15:47 PM UTC, comment #3: 

I did not test that patch (but looking good anyway), yet I think
5 MB is too big as default, it should be < 1 MB, about 200 KB or so,
or even deactivated to keep the current default behaviour.

spiralvoice <spiralvoice>
Group administrator
Sun 30 Apr 2006 05:15:31 PM UTC, comment #2: 

This item has been reassigned from the project mldonkey, a multi-networks file-sharing client task tracker to your tracker.

The original report is still available at task #5408

Following are the information included in the original report:

[field #0]                  Item ID: 5408
[field #1]                 Group ID: 1409
[field #2]              Open/Closed: Open
[field #3]                 Severity: 3 - Normal
[field #4]                  Privacy: Public
[field #6]                 Category: Core
[field #7]             Submitted by: fabtar
[field #8]              Assigned to: spiralvoice
[field #9]             Submitted on: vendredi 14.04.2006 à 19:52
[field #10]                  Summary: Add option to push small files in a easy way
[field #11]      Original Submission: It is better to priorize small files cause the requests cause by wait time are bigger(cause an overhead in size) bigger than effective file transfer .
This is possible my manually configuring shares directory prio et similar.

From pango s suggestion:

...
shared_directories = [
...
  {     dirname = "/home/user/shared"
     networks = []
     strategy = all_small
     priority = 1
};
  {     dirname = "/home/user/shared"
     networks = []
     strategy = all_big
     priority = 0
};]
...

searches.ini:
Code:

...
customized_sharing = [
...
  (all_small, {       recursive = true
       extensions = []
       minsize = 1
       maxsize = 5242879
});
  (all_big, {       recursive = true
       extensions = []
       minsize = 5242880
       maxsize = 9223372036854775807
});]
...


It could be nice to introduce an option to automatically add this policy to all shared directories/files.
2 options, 1 for enable/disable feature , 1 option or field to set the threashold.
Perhaps could be added another otion to bound the effect..example 
maximum transmitted small files, or maximum accepted small files/per hour.
[field #13]               Item Group: None
[field #14]                   Status: Works For Me
[field #15]        Component Version: None
[field #16]         Operating System: None
[field #17]          Reproducibility: None
[field #18]               Size (loc): None
[field #19]            Fixed Release: None
[field #20]          Planned Release: None
[field #21]                   Effort: 0.00
[field #25]                 Priority: 5 - Normal
[field #26]          Should Start On: vendredi 14.04.2006 à 02:00
[field #27]    Should be Finished on: vendredi 14.04.2006 à 02:00
[field #28]         Percent Complete: 0%
[field #30]                  Release: None
[field #55]     Custom Select Box #1: None
[field #56]     Custom Select Box #2: None
[field #57]     Custom Select Box #3: None
[field #58]     Custom Select Box #4: None
[field #59]     Custom Select Box #5: None
[field #60]     Custom Select Box #6: None
[field #61]     Custom Select Box #7: None
[field #62]     Custom Select Box #8: None
[field #63]     Custom Select Box #9: None
[field #64]    Custom Select Box #10: None

pango <mlpango>
Group Member
Mon 24 Apr 2006 02:25:39 PM UTC, comment #1: 

(untested)

pango <mlpango>
Group Member
Sun 30 Apr 2006 05:15:31 PM UTC, original submission:  

It is better to priorize small files cause the requests cause by wait time are bigger(cause an overhead in size) bigger than effective file transfer .
This is possible my manually configuring shares directory prio et similar.

From pango's suggestion:

...
shared_directories = [
...
  {     dirname = "/home/user/shared"
     networks = []
     strategy = all_small
     priority = 1
};
  {     dirname = "/home/user/shared"
     networks = []
     strategy = all_big
     priority = 0
};]
...

searches.ini:
Code:

...
customized_sharing = [
...
  (all_small, {       recursive = true
       extensions = []
       minsize = 1
       maxsize = 5242879
});
  (all_big, {       recursive = true
       extensions = []
       minsize = 5242880
       maxsize = 9223372036854775807
});]
...


It could be nice to introduce an option to automatically add this policy to all shared directories/files.
2 options, 1 for enable/disable feature , 1 option or field to set the threashold.
Perhaps could be added another otion to bound the effect..example 
maximum transmitted small files, or maximum accepted small files/per hour.

Fabiano <fabtar>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attached Files
file #9829:  small_files_slot.patch added by mlpango (4KiB - text/x-patch)

 

Depends on the following items: None found

Items that depend on this one: None found

 

CC list is empty

 

There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

 

Follow 5 latest changes.

Date Changed by Updated Field Previous Value => Replaced by
2006-06-12 spiralvoice StatusReady For Test Done
    Open/ClosedOpen Closed
2006-05-05 spiralvoice StatusNone Ready For Test
    SummaryReassigned item: Add option to push small files in a easy way New option small_files_slot_below to push release of small files
2006-04-30 mlpango Reassign itemFrom group mldonkey, a multi-networks file-sharing client, task tracker To group mldonkey, a multi-networks file-sharing client, patch tracker

Back to the top

Powered by Savane 3.13-02a9.
Corresponding source code