Changeset 3869

Show
Ignore:
Timestamp:
03/04/06 16:29:00 (3 years ago)
Author:
morris
Message:

Get speed limits directly from client account, allows the limit to be manipulated while the transfer is running

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • wired/trunk/wired/transfers.c

    r3864 r3869  
    409409        transfer                                = wd_transfer_init_with_client(transfer, client); 
    410410        transfer->type                  = WD_TRANSFER_DOWNLOAD; 
    411         transfer->speed_limit   = client->account->download_speed; 
    412411         
    413412        return transfer; 
     
    419418        transfer                                = wd_transfer_init_with_client(transfer, client); 
    420419        transfer->type                  = WD_TRANSFER_UPLOAD; 
    421         transfer->speed_limit   = client->account->upload_speed; 
    422420         
    423421        return transfer; 
     
    487485        unsigned int    limit, totallimit; 
    488486         
    489         if(transfer->speed_limit > 0 || wd_settings.totaldownloadspeed > 0) { 
     487        if(transfer->client->account->download_speed > 0 || wd_settings.totaldownloadspeed > 0) { 
    490488                totallimit = (wd_settings.totaldownloadspeed > 0) 
    491489                        ? (float) wd_settings.totaldownloadspeed / (float) wd_current_downloads 
    492490                        : 0; 
    493491                 
    494                 if(totallimit > 0 && transfer->speed_limit > 0) 
    495                         limit = WI_MIN(totallimit, transfer->speed_limit); 
     492                if(totallimit > 0 && transfer->client->account->download_speed > 0) 
     493                        limit = WI_MIN(totallimit, transfer->client->account->download_speed); 
    496494                else if(totallimit > 0) 
    497495                        limit = totallimit; 
    498496                else 
    499                         limit = transfer->speed_limit
     497                        limit = transfer->client->account->download_speed
    500498 
    501499                if(limit > 0) { 
     
    515513        unsigned int    limit, totallimit; 
    516514         
    517         if(transfer->speed_limit > 0 || wd_settings.totaluploadspeed > 0) { 
     515        if(transfer->client->account->upload_speed > 0 || wd_settings.totaluploadspeed > 0) { 
    518516                totallimit = (wd_settings.totaluploadspeed > 0) 
    519517                        ? (float) wd_settings.totaluploadspeed / (float) wd_current_uploads 
    520518                        : 0; 
    521519                 
    522                 if(totallimit > 0 && transfer->speed_limit > 0) 
    523                         limit = WI_MIN(totallimit, transfer->speed_limit); 
     520                if(totallimit > 0 && transfer->client->account->upload_speed > 0) 
     521                        limit = WI_MIN(totallimit, transfer->client->account->upload_speed); 
    524522                else if(totallimit > 0) 
    525523                        limit = totallimit; 
    526524                else 
    527                         limit = transfer->speed_limit
     525                        limit = transfer->client->account->upload_speed
    528526 
    529527                if(limit > 0) { 
  • wired/trunk/wired/transfers.h

    r3847 r3869  
    7676        wi_file_offset_t                                        transferred; 
    7777        unsigned int                                            speed; 
    78         unsigned int                                            speed_limit; 
    7978}; 
    8079typedef struct _wd_transfer                             wd_transfer_t;