Ignore:
Timestamp:
Jul 13, 2007, 4:20:11 AM (15 years ago)
Author:
livings124
Message:

hopefully function for getting priorities is a bit faster

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/macosx/Torrent.m

    r2335 r2337  
    13151315    int count = [indexSet count], i = 0, index;
    13161316    int * files = malloc(count * sizeof(int));
    1317    
    13181317    for (index = [indexSet firstIndex]; index != NSNotFound; index = [indexSet indexGreaterThanIndex: index])
    13191318    {
     
    13211320        i++;
    13221321    }
     1322   
    13231323    tr_torrentSetFileDLs(fHandle, files, count, state != NSOffState);
    13241324    free(files);
     
    13331333    int count = [indexSet count], i = 0, index;
    13341334    int * files = malloc(count * sizeof(int));
    1335    
    13361335    for (index = [indexSet firstIndex]; index != NSNotFound; index = [indexSet indexGreaterThanIndex: index])
    13371336    {
     
    13521351            return YES;
    13531352    return NO;
     1353}
     1354
     1355- (NSArray *) filePrioritiesForIndexes: (NSIndexSet *) indexSet
     1356{
     1357    BOOL low = NO, normal = NO, high = NO;
     1358    NSMutableArray * priorities = [NSMutableArray arrayWithCapacity: 3];
     1359   
     1360    int index, priority;
     1361    for (index = [indexSet firstIndex]; index != NSNotFound; index = [indexSet indexGreaterThanIndex: index])
     1362    {
     1363        if (![self canChangeDownloadCheckForFiles: [NSIndexSet indexSetWithIndex: index]])
     1364            continue;
     1365       
     1366        priority = tr_torrentGetFilePriority(fHandle, index);
     1367        if (priority == TR_PRI_LOW)
     1368        {
     1369            if (!low)
     1370                low = YES;
     1371            else
     1372                continue;
     1373        }
     1374        else if (priority == TR_PRI_HIGH)
     1375        {
     1376            if (!high)
     1377                high = YES;
     1378            else
     1379                continue;
     1380        }
     1381        else
     1382        {
     1383            if (!normal)
     1384                normal = YES;
     1385            else
     1386                continue;
     1387        }
     1388       
     1389        [priorities addObject: [NSNumber numberWithInt: priority]];
     1390       
     1391        if (low && normal && high)
     1392            break;
     1393    }
     1394    return priorities;
    13541395}
    13551396
Note: See TracChangeset for help on using the changeset viewer.