Skip to content

Commit 1ae200b

Browse files
author
YangSen-qn
committed
resume version, default to v2
1 parent 1df2273 commit 1ae200b

File tree

8 files changed

+84
-38
lines changed

8 files changed

+84
-38
lines changed

QiniuSDK.xcodeproj/project.pbxproj

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -637,6 +637,7 @@
637637
4551E55E24CE81DA00447285 /* QNInetAddress.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = QNInetAddress.m; sourceTree = "<group>"; };
638638
4551E56524D0065100447285 /* NSData+QNMD5.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "NSData+QNMD5.h"; sourceTree = "<group>"; };
639639
4551E56624D0065100447285 /* NSData+QNMD5.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "NSData+QNMD5.m"; sourceTree = "<group>"; };
640+
45B03B702DF80281002148CE /* libHappyDNS-macOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = "libHappyDNS-macOS.a"; sourceTree = BUILT_PRODUCTS_DIR; };
640641
45CBC6C22AA9B05A00962B47 /* QNFixZoneTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = QNFixZoneTest.m; sourceTree = "<group>"; };
641642
45CBC6D02ABA9FFF00962B47 /* QNCache.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = QNCache.h; sourceTree = "<group>"; };
642643
45CBC6D12ABA9FFF00962B47 /* QNCache.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = QNCache.m; sourceTree = "<group>"; };
@@ -954,6 +955,7 @@
954955
A955AABD20BF51BFE5032419 /* Frameworks */ = {
955956
isa = PBXGroup;
956957
children = (
958+
45B03B702DF80281002148CE /* libHappyDNS-macOS.a */,
957959
F14D0FE3BA304F86A17EDF33 /* libPods-QiniuSDK_Mac.a */,
958960
D15EA855D2DBDE6728E87462 /* libPods-QiniuSDK_MacTests.a */,
959961
43AF08370B1B79540BB41B4B /* libPods-QiniuSDK_iOS.a */,

QiniuSDK/Storage/QNConfiguration.h

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
#import <Foundation/Foundation.h>
1010
#import "QNRecorderDelegate.h"
1111
#import "QNDns.h"
12+
#import "QNDefine.h"
1213

1314
/**
1415
* 断点上传时的分块大小
@@ -133,13 +134,28 @@ typedef void (^QNConfigurationBuilderBlock)(QNConfigurationBuilder *builder);
133134
/**
134135
* 默认配置
135136
*/
136-
+ (instancetype)defaultConfiguration;
137+
+ (instancetype)defaultConfiguration kQNDeprecated("use defaultConfigurationV2 instead");
138+
139+
/**
140+
* 默认配置
141+
*
142+
* 此默认配置中分片上传使用分片V2,如果是私/专有云场景,请注意确认服务端是否支持分片V2
143+
*/
144+
+ (instancetype)defaultConfigurationV2;
137145

138146
/**
139147
* 使用 QNConfigurationBuilder 进行配置
140148
* @param block 配置block
141149
*/
142-
+ (instancetype)build:(QNConfigurationBuilderBlock)block;
150+
+ (instancetype)build:(QNConfigurationBuilderBlock)block kQNDeprecated("use buildV2 instead");
151+
152+
/**
153+
* 使用 QNConfigurationBuilder 进行配置
154+
* 此配置中分片上传默认使用分片V2,如果是私/专有云场景,请注意确认服务端是否支持分片V2
155+
*
156+
* @param block 配置block
157+
*/
158+
+ (instancetype)buildV2:(QNConfigurationBuilderBlock)block;
143159

144160
@end
145161

QiniuSDK/Storage/QNConfiguration.m

Lines changed: 48 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -17,19 +17,67 @@
1717
const UInt32 kQNDefaultDnsCacheTime = 2 * 60;
1818

1919

20+
@interface QNConfigurationBuilder()
21+
@end
22+
@implementation QNConfigurationBuilder
23+
24+
- (instancetype)init {
25+
if (self = [super init]) {
26+
_zone = [[QNAutoZone alloc] init];
27+
_chunkSize = 2 * 1024 * 1024;
28+
_putThreshold = 4 * 1024 * 1024;
29+
_retryMax = 1;
30+
_timeoutInterval = 90;
31+
_retryInterval = 0.5;
32+
33+
_recorder = nil;
34+
_recorderKeyGen = nil;
35+
36+
_proxy = nil;
37+
_converter = nil;
38+
39+
_useHttps = YES;
40+
_allowBackupHost = YES;
41+
_accelerateUploading = NO;
42+
_useConcurrentResumeUpload = NO;
43+
_resumeUploadVersion = QNResumeUploadVersionV1;
44+
_concurrentTaskCount = 3;
45+
}
46+
return self;
47+
}
48+
49+
+ (instancetype)defaultBuilder {
50+
QNConfigurationBuilder *builder = [[QNConfigurationBuilder alloc] init];
51+
builder.resumeUploadVersion = QNResumeUploadVersionV2;
52+
return builder;
53+
}
54+
55+
@end
56+
2057
@implementation QNConfiguration
2158

2259
+ (instancetype)defaultConfiguration{
2360
QNConfigurationBuilder *builder = [[QNConfigurationBuilder alloc] init];
2461
return [[QNConfiguration alloc] initWithBuilder:builder];
2562
}
2663

64+
+ (instancetype)defaultConfigurationV2{
65+
QNConfigurationBuilder *builder = [QNConfigurationBuilder defaultBuilder];
66+
return [[QNConfiguration alloc] initWithBuilder:builder];
67+
}
68+
2769
+ (instancetype)build:(QNConfigurationBuilderBlock)block {
2870
QNConfigurationBuilder *builder = [[QNConfigurationBuilder alloc] init];
2971
block(builder);
3072
return [[QNConfiguration alloc] initWithBuilder:builder];
3173
}
3274

75+
+ (instancetype)buildV2:(QNConfigurationBuilderBlock)block {
76+
QNConfigurationBuilder *builder = [QNConfigurationBuilder defaultBuilder];
77+
block(builder);
78+
return [[QNConfiguration alloc] initWithBuilder:builder];
79+
}
80+
3381
- (instancetype)initWithBuilder:(QNConfigurationBuilder *)builder {
3482
if (self = [super init]) {
3583
_useConcurrentResumeUpload = builder.useConcurrentResumeUpload;
@@ -262,32 +310,4 @@ - (void)setDefaultConnectCheckUrls:(NSArray *)defaultConnectCheckUrls {
262310

263311
@end
264312

265-
@implementation QNConfigurationBuilder
266-
267-
- (instancetype)init {
268-
if (self = [super init]) {
269-
_zone = [[QNAutoZone alloc] init];
270-
_chunkSize = 2 * 1024 * 1024;
271-
_putThreshold = 4 * 1024 * 1024;
272-
_retryMax = 1;
273-
_timeoutInterval = 90;
274-
_retryInterval = 0.5;
275-
276-
_recorder = nil;
277-
_recorderKeyGen = nil;
278-
279-
_proxy = nil;
280-
_converter = nil;
281-
282-
_useHttps = YES;
283-
_allowBackupHost = YES;
284-
_accelerateUploading = NO;
285-
_useConcurrentResumeUpload = NO;
286-
_resumeUploadVersion = QNResumeUploadVersionV1;
287-
_concurrentTaskCount = 3;
288-
}
289-
return self;
290-
}
291-
292-
@end
293313

QiniuSDK/Storage/QNUploadManager.h

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
#import <Foundation/Foundation.h>
1010

1111
#import "QNRecorderDelegate.h"
12+
#import "QNDefine.h"
1213

1314
@class QNResponseInfo;
1415
@class QNUploadOption;
@@ -39,7 +40,7 @@ typedef void (^QNUpCompletionHandler)(QNResponseInfo *info, NSString *key, NSDic
3940
*
4041
* @return 上传管理类实例
4142
*/
42-
- (instancetype)init;
43+
- (instancetype)init kQNDeprecated("use initWithConfiguration instead");
4344

4445
/**
4546
* 使用一个持久化的记录接口进行记录的构造方法
@@ -48,7 +49,7 @@ typedef void (^QNUpCompletionHandler)(QNResponseInfo *info, NSString *key, NSDic
4849
*
4950
* @return 上传管理类实例
5051
*/
51-
- (instancetype)initWithRecorder:(id<QNRecorderDelegate>)recorder;
52+
- (instancetype)initWithRecorder:(id<QNRecorderDelegate>)recorder kQNDeprecated("use initWithConfiguration instead");
5253

5354
/**
5455
* 使用持久化记录接口以及持久化key生成函数的构造方法,默认情况下使用上传存储的key, 如果key为nil或者有特殊字符比如/,建议使用自己的生成函数
@@ -59,7 +60,7 @@ typedef void (^QNUpCompletionHandler)(QNResponseInfo *info, NSString *key, NSDic
5960
* @return 上传管理类实例
6061
*/
6162
- (instancetype)initWithRecorder:(id<QNRecorderDelegate>)recorder
62-
recorderKeyGenerator:(QNRecorderKeyGenerator)recorderKeyGenerator;
63+
recorderKeyGenerator:(QNRecorderKeyGenerator)recorderKeyGenerator kQNDeprecated("use initWithConfiguration instead");
6364

6465
/**
6566
* 使用配置信息生成上传实例

QiniuSDK/Utils/QNVersion.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,4 @@
1111
/**
1212
* sdk 版本
1313
*/
14-
static NSString *const kQiniuVersion = @"8.8.1";
14+
static NSString *const kQiniuVersion = @"8.9.0";

QiniuSDKTests/QNCFHttpClientTest.m

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,15 +45,15 @@ - (void)testHttpsGet{
4545
}
4646

4747
- (void)testHttpGetByIP{
48-
NSURL *url = [NSURL URLWithString:@"http://218.98.28.19/v3/query?ak=jH983zIUFIP1OVumiBVGeAfiLYJvwrF45S-t22eu&bucket=zone0-space"];
48+
NSURL *url = [NSURL URLWithString:@"http://101.251.144.177/v3/query?ak=jH983zIUFIP1OVumiBVGeAfiLYJvwrF45S-t22eu&bucket=zone0-space"];
4949
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
5050
request.qn_domain = @"uc.qbox.me";
5151

5252
[self request:request];
5353
}
5454

5555
- (void)testHttpsGetByIP{
56-
NSURL *url = [NSURL URLWithString:@"https://218.98.28.19/v3/query?ak=jH983zIUFIP1OVumiBVGeAfiLYJvwrF45S-t22eu&bucket=zone0-space"];
56+
NSURL *url = [NSURL URLWithString:@"https://101.251.144.177/v3/query?ak=jH983zIUFIP1OVumiBVGeAfiLYJvwrF45S-t22eu&bucket=zone0-space"];
5757
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
5858
request.qn_domain = @"uc.qbox.me";
5959

QiniuSDKTests/QNConfigurationTest.m

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,13 @@ - (void)tearDown {
2323
// Put teardown code here. This method is called after the invocation of each test method in the class.
2424
}
2525

26+
- (void)testConfigDefaultConfig {
27+
QNConfiguration *cfg = [QNConfiguration buildV2:^(QNConfigurationBuilder *builder) {
28+
}];
29+
XCTAssertTrue(cfg.resumeUploadVersion == QNResumeUploadVersionV2, @"config default resumeUploadVersion error");
30+
}
31+
32+
2633
- (void)testGlobalDefaultConfig {
2734
QNGlobalConfiguration *cfg = [QNGlobalConfiguration shared];
2835
cfg.udpDnsIpv4Servers = nil;

QiniuSDKTests/QNResumeUploadTest.m

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ - (void)tearDown {
3636
}
3737

3838
- (void)testSwitchRegionV1 {
39-
QNConfiguration *config = [QNConfiguration build:^(QNConfigurationBuilder *builder) {
39+
QNConfiguration *config = [QNConfiguration buildV2:^(QNConfigurationBuilder *builder) {
4040
builder.resumeUploadVersion = QNResumeUploadVersionV1;
4141
builder.useConcurrentResumeUpload = NO;
4242
builder.useHttps = YES;
@@ -52,7 +52,7 @@ - (void)testSwitchRegionV1 {
5252
- (void)testCancelV1 {
5353
float cancelPercent = 0.1;
5454

55-
QNConfiguration *config = [QNConfiguration build:^(QNConfigurationBuilder *builder) {
55+
QNConfiguration *config = [QNConfiguration buildV2:^(QNConfigurationBuilder *builder) {
5656
builder.resumeUploadVersion = QNResumeUploadVersionV1;
5757
builder.useConcurrentResumeUpload = NO;
5858
builder.useHttps = YES;

0 commit comments

Comments
 (0)