Files
youle_app_ios/Pods/Qiniu/QiniuSDK/Storage/QNConcurrentResumeUpload.m

44 lines
1.1 KiB
Objective-C

//
// QNConcurrentResumeUpload.m
// QiniuSDK
//
// Created by WorkSpace_Sun on 2019/7/15.
// Copyright © 2019 Qiniu. All rights reserved.
//
#import "QNLogUtil.h"
#import "QNConcurrentResumeUpload.h"
@interface QNConcurrentResumeUpload()
@property(nonatomic, strong) dispatch_group_t uploadGroup;
@property(nonatomic, strong) dispatch_queue_t uploadQueue;
@end
@implementation QNConcurrentResumeUpload
- (int)prepareToUpload{
self.uploadGroup = dispatch_group_create();
self.uploadQueue = dispatch_queue_create("com.qiniu.concurrentUpload", DISPATCH_QUEUE_SERIAL);
return [super prepareToUpload];
}
- (void)uploadRestData:(dispatch_block_t)completeHandler {
QNLogInfo(@"key:%@ 并发分片", self.key);
for (int i = 0; i < self.config.concurrentTaskCount; i++) {
dispatch_group_enter(self.uploadGroup);
dispatch_group_async(self.uploadGroup, self.uploadQueue, ^{
[super performUploadRestData:^{
dispatch_group_leave(self.uploadGroup);
}];
});
}
dispatch_group_notify(self.uploadGroup, self.uploadQueue, ^{
completeHandler();
});
}
@end