@@ -139,12 +139,12 @@ - (void) continueMultiUpload:(QCloudListPartsResult*)existParts
139139 [existMap setObject: part forKey: part.partNumber];
140140 }
141141 QCloudLogDebug (@" SERVER EXIST PARTS %@ " , [existParts qcloud_modelToJSONString ]);
142-
142+
143143 NSMutableArray * restParts = [NSMutableArray new ];
144144 for (QCloudFileOffsetBody* offsetBody in allParts) {
145145 NSString * key = [@(offsetBody.index+1 ) stringValue ];
146146 QCloudMultipartUploadPart* part = [existMap objectForKey: key];
147-
147+
148148 if (!part) {
149149 [restParts addObject: offsetBody];
150150 } else {
@@ -158,10 +158,10 @@ - (void) continueMultiUpload:(QCloudListPartsResult*)existParts
158158 [_uploadParts addObject: info];
159159 }
160160 }
161-
161+
162162 if (!isChange) {
163163 if (restParts.count == 0 ) {
164- [self finishUpload: self .uploadId];
164+ [self finishUpload: self .uploadId];
165165 }else {
166166 [self uploadOffsetBodys: restParts];
167167 }
@@ -171,7 +171,7 @@ - (void) continueMultiUpload:(QCloudListPartsResult*)existParts
171171 if (uploadedSize == self.dataContentLength ) {
172172 [self finishUpload: self .uploadId];
173173 } else {
174- // 开始分片
174+ // 开始分片
175175 [self uploadOffsetBodys: [self getFileLocalUploadParts ]];
176176 }
177177 }
@@ -187,7 +187,7 @@ -(void)getContinueInfo:(NSArray *)existParts{
187187 if ([info.partNumber integerValue ]!=1 ){
188188 return ;
189189 }
190-
190+
191191 for (i = 0 ; i<existParts.count ; i++) {
192192 QCloudMultipartUploadPart *part1 = existParts[i];
193193 QCloudMultipartInfo* info1 = [QCloudMultipartInfo new ];
@@ -202,7 +202,7 @@ -(void)getContinueInfo:(NSArray *)existParts{
202202 if (([part1.partNumber integerValue ]+1 )!= [part2.partNumber integerValue ]) {
203203 break ;
204204 }
205-
205+
206206 }
207207 startPartNumber = _uploadParts.count ;
208208
@@ -214,6 +214,7 @@ - (void) resumeUpload
214214{
215215 QCloudListMultipartRequest* request = [QCloudListMultipartRequest new ];
216216 request.priority = self.priority ;
217+ request.timeoutInterval = self.timeoutInterval ;
217218 request.object = self.object ;
218219 request.regionName = self.regionName ;
219220 request.bucket = self.bucket ;
@@ -223,7 +224,7 @@ - (void) resumeUpload
223224 __weak typeof (self) weakSelf = self;
224225 [request setFinishBlock: ^(QCloudListPartsResult * _Nonnull result,
225226 NSError * _Nonnull error) {
226-
227+
227228 __strong typeof (weakSelf)strongSelf = weakSelf;
228229 __strong typeof (weakRequest)strongRequst = weakRequest;
229230 [strongSelf.requstMetricArray addObject: @{[NSString stringWithFormat: @" %@ " ,strongRequst]:weakRequest.benchMarkMan .tastMetrics }];
@@ -252,7 +253,7 @@ - (void) fakeStart {
252253 // 开始分片上传的时候,上传的起始位置是0
253254 uploadedSize = 0 ;
254255 startPartNumber = 0 ;
255- [self startMultiUpload ];
256+ [self startMultiUpload ];
256257 } else {
257258 [self startSimpleUpload ];
258259 }
@@ -269,8 +270,9 @@ - (void) startSimpleUpload
269270 __weak typeof (self) weakSelf = self;
270271 __weak typeof (request)weakRequest = request;
271272 request.retryPolicy .delegate = self;
273+ request.timeoutInterval = self.timeoutInterval ;
272274 request.finishBlock = ^(id outputObject, NSError *error) {
273-
275+
274276 __strong typeof (weakSelf)strongSelf = weakSelf;
275277 __strong typeof (weakRequest)strongRequst = weakRequest;
276278 [strongSelf.requstMetricArray addObject: @{[NSString stringWithFormat: @" %@ " ,strongRequst]:weakRequest.benchMarkMan .tastMetrics }];
@@ -284,7 +286,7 @@ - (void) startSimpleUpload
284286 result.versionID = outputObject[@" x-cos-version-id" ];
285287 }
286288
287-
289+
288290 result.key = weakSelf.object ;
289291 result.bucket = weakSelf.bucket ;
290292 result.location = QCloudCOSXMLObjectLocation (weakSelf.transferManager .configuration .endpoint ,
@@ -320,6 +322,7 @@ - (void) startSimpleUpload
320322- (void ) startMultiUpload {
321323 _uploadParts = [NSMutableArray new ];
322324 QCloudInitiateMultipartUploadRequest* uploadRequet = [QCloudInitiateMultipartUploadRequest new ];
325+ uploadRequet.timeoutInterval = self.timeoutInterval ;
323326 uploadRequet.bucket = self.bucket ;
324327 uploadRequet.regionName = self.regionName ;
325328 uploadRequet.object = self.object ;
@@ -338,10 +341,10 @@ - (void) startMultiUpload {
338341 uploadRequet.priority = self.priority ;
339342 __weak typeof (uploadRequet)weakRequest = uploadRequet;
340343 __weak typeof (self) weakSelf = self;
341-
344+
342345 [uploadRequet setFinishBlock: ^(QCloudInitiateMultipartUploadResult * _Nonnull result,
343346 NSError * _Nonnull error) {
344-
347+
345348 __strong typeof (weakSelf)strongSelf = weakSelf;
346349 __strong typeof (weakRequest)strongRequst = weakRequest;
347350 [strongSelf.requstMetricArray addObject: @{[NSString stringWithFormat: @" %@ " ,strongRequst]:weakRequest.benchMarkMan .tastMetrics }];
@@ -436,9 +439,10 @@ - (void) uploadOffsetBodys:(NSArray<QCloudFileOffsetBody*>*)allParts
436439 dispatch_resume (_queueSource);
437440 for (int i = 0 ; i < allParts.count ; i++) {
438441 __block QCloudFileOffsetBody* body = allParts[i];
439-
442+
440443 QCloudUploadPartRequest* request = [QCloudUploadPartRequest new ];
441444 request.bucket = self.bucket ;
445+ request.timeoutInterval = self.timeoutInterval ;
442446 request.regionName = self.regionName ;
443447 request.object = self.object ;
444448 request.priority = QCloudAbstractRequestPriorityLow;
@@ -468,7 +472,7 @@ - (void) uploadOffsetBodys:(NSArray<QCloudFileOffsetBody*>*)allParts
468472 if (!weakSelf) {
469473 return ;
470474 }
471-
475+
472476 __strong typeof (weakSelf)strongSelf = weakSelf;
473477 __strong typeof (weakRequest)strongRequst = weakRequest;
474478 [strongSelf.requstMetricArray addObject: @{[NSString stringWithFormat: @" %@ " ,strongRequst]:weakRequest.benchMarkMan .tastMetrics }];
@@ -483,7 +487,7 @@ - (void) uploadOffsetBodys:(NSArray<QCloudFileOffsetBody*>*)allParts
483487 } else {
484488
485489 if (self.enableMD5Verification ) {
486-
490+
487491 NSString * MD5FromeETag = [outputObject.eTag substringWithRange: NSMakeRange (1 , outputObject.eTag.length-2 )];
488492 NSString * localMD5String = [QCloudEncrytFileOffsetMD5 (body.fileURL.path, body.offset, body.sliceLength) lowercaseString ];
489493 if (![MD5FromeETag isEqualToString: localMD5String]) {
@@ -562,6 +566,7 @@ - (void) finishUpload:(NSString*)uploadId
562566 complete.regionName = self.regionName ;
563567 complete.customHeaders = [self .customHeaders mutableCopy ];
564568 complete.retryPolicy .delegate = self;
569+ complete.timeoutInterval = self.timeoutInterval ;
565570 QCloudCompleteMultipartUploadInfo* info = [QCloudCompleteMultipartUploadInfo new ];
566571 [self .uploadParts sortUsingComparator: ^NSComparisonResult (QCloudMultipartInfo* _Nonnull obj1,
567572 QCloudMultipartInfo* _Nonnull obj2) {
@@ -579,9 +584,9 @@ - (void) finishUpload:(NSString*)uploadId
579584 complete.parts = info;
580585
581586 __weak typeof (self) weakSelf = self;
582- __weak typeof (complete)weakRequest = complete;
587+ __weak typeof (complete)weakRequest = complete;
583588 [complete setFinishBlock: ^(QCloudUploadObjectResult* outputObject, NSError *error) {
584-
589+
585590 __strong typeof (weakSelf)strongSelf = weakSelf;
586591 __strong typeof (weakRequest)strongRequst = weakRequest;
587592 [strongSelf.requstMetricArray addObject: @{[NSString stringWithFormat: @" %@ " ,strongRequst]:weakRequest.benchMarkMan .tastMetrics }];
@@ -602,7 +607,7 @@ - (void) finishUpload:(NSString*)uploadId
602607
603608 [self .requestCacheArray addPointer: (__bridge void * _Nullable)(complete)];
604609 [self .transferManager.cosService CompleteMultipartUpload: complete];
605-
610+
606611}
607612
608613
@@ -641,15 +646,15 @@ - (void) cancel
641646 }
642647 QCloudLogDebug (@" cancelledRequestIDs :%@ " ,cancelledRequestIDs);
643648 QCloudLogDebug (@" begin cancelRequestsWithID transferManager: %@ sessionManager: %@ cosService: %@ " ,self.transferManager ,self.transferManager .cosService ,self.transferManager .cosService .sessionManager );
644-
649+
645650 [self .transferManager.cosService.sessionManager cancelRequestsWithID: cancelledRequestIDs];
646651}
647652- (QCloudCOSXMLUploadObjectResumeData) cancelByProductingResumeData : (NSError *__autoreleasing *)error
648653{
649654 QCloudLogDebug (@" cancelByProductingResumeData begin" );
650655 // 延迟取消 让函数先返回
651656 dispatch_async (dispatch_get_global_queue (DISPATCH_QUEUE_PRIORITY_HIGH, 0 ), ^{
652-
657+
653658 QCloudLogDebug (@" ⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️ :cancel" );
654659 [self cancel ];
655660 });
@@ -684,12 +689,12 @@ - (QCloudCOSXMLUploadObjectResumeData) productingReqsumeData:(NSError* __autorel
684689 return nil ;
685690 }
686691 [_recursiveLock lock ];
687- NSURL * url = (NSURL *)self.body ;
688- QCloudUniversalPath *universalPath = [QCloudUniversalPathFactory universalPathWithURL: url];
689- self.body = universalPath;
690- NSData * info = [self qcloud_modelToJSONData ];
691- QCloudLogDebug (@" RESUME data %@ " ,info);
692- self.body = url;
692+ NSURL * url = (NSURL *)self.body ;
693+ QCloudUniversalPath *universalPath = [QCloudUniversalPathFactory universalPathWithURL: url];
694+ self.body = universalPath;
695+ NSData * info = [self qcloud_modelToJSONData ];
696+ QCloudLogDebug (@" RESUME data %@ " ,info);
697+ self.body = url;
693698 [_recursiveLock unlock ];
694699 return info;
695700}
@@ -712,6 +717,7 @@ - (void) abort:(QCloudRequestFinishBlock _Nullable)finishBlock
712717 abortRequest.uploadId = self.uploadId ;
713718 abortRequest.finishBlock = finishBlock;
714719 abortRequest.priority = self.priority ;
720+ abortRequest.timeoutInterval = self.timeoutInterval ;
715721 self.uploadId = nil ;
716722 [self .transferManager.cosService AbortMultipfartUpload: abortRequest];
717723 } else {
0 commit comments