Changeset 13160


Ignore:
Timestamp:
Jan 14, 2012, 4:07:58 PM (10 years ago)
Author:
livings124
Message:

search for folder nodes concurrently when generating a torrent's file list

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/macosx/Torrent.m

    r13152 r13160  
    17111711            {
    17121712                //determine if folder node already exists
    1713                 FileListNode * node;
    1714                 for (node in fileList)
    1715                     if ([[node name] isEqualToString: name] && [node isFolder])
    1716                         break;
     1713                __block FileListNode * node = nil;
     1714                [fileList enumerateObjectsWithOptions: NSEnumerationConcurrent usingBlock: ^(FileListNode * searchNode, NSUInteger idx, BOOL * stop) {
     1715                    if ([[searchNode name] isEqualToString: name] && [searchNode isFolder])
     1716                    {
     1717                        node = searchNode;
     1718                        *stop = YES;
     1719                    }
     1720                }];
    17171721               
    17181722                if (!node)
     
    17231727                }
    17241728               
    1725                 NSMutableArray * trimmedComponents = [NSMutableArray arrayWithArray: [pathComponents subarrayWithRange:
    1726                                                         NSMakeRange(2, [pathComponents count]-2)]];
     1729                NSMutableArray * trimmedComponents = [NSMutableArray arrayWithArray: [pathComponents subarrayWithRange: NSMakeRange(2, [pathComponents count]-2)]];
    17271730               
    17281731                [node insertIndex: i withSize: file->length];
     
    17591762    const BOOL isFolder = [components count] > 1;
    17601763   
     1764    //determine if folder node already exists
    17611765    __block FileListNode * node = nil;
    17621766    if (isFolder)
Note: See TracChangeset for help on using the changeset viewer.