Skip to content

Commit f5a1350

Browse files
committed
Merge pull request #87 from lintianzhi/feature/upstats
upstats
2 parents 8e64e1a + 1b5770a commit f5a1350

21 files changed

+1529
-366
lines changed

QiniuSDK.xcodeproj/project.pbxproj

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,12 @@
1313
93CEF47E1BDE11FF00750FE8 /* QNPHAssetFile.h in Headers */ = {isa = PBXBuildFile; fileRef = 93CEF47C1BDE11FF00750FE8 /* QNPHAssetFile.h */; settings = {ASSET_TAGS = (); }; };
1414
93CEF47F1BDE11FF00750FE8 /* QNPHAssetFile.m in Sources */ = {isa = PBXBuildFile; fileRef = 93CEF47D1BDE11FF00750FE8 /* QNPHAssetFile.m */; settings = {ASSET_TAGS = (); }; };
1515
93CEF4801BDE11FF00750FE8 /* QNPHAssetFile.m in Sources */ = {isa = PBXBuildFile; fileRef = 93CEF47D1BDE11FF00750FE8 /* QNPHAssetFile.m */; settings = {ASSET_TAGS = (); }; };
16+
BA1659301BDBD6FB00C7304A /* QNStats.h in Headers */ = {isa = PBXBuildFile; fileRef = BA16592E1BDBD6FB00C7304A /* QNStats.h */; settings = {ASSET_TAGS = (); }; };
17+
BA1659311BDBD6FB00C7304A /* QNStats.m in Sources */ = {isa = PBXBuildFile; fileRef = BA16592F1BDBD6FB00C7304A /* QNStats.m */; settings = {ASSET_TAGS = (); }; };
18+
BA1659321BDBD6FB00C7304A /* QNStats.m in Sources */ = {isa = PBXBuildFile; fileRef = BA16592F1BDBD6FB00C7304A /* QNStats.m */; settings = {ASSET_TAGS = (); }; };
19+
BA1A40F61BE497E5009A5E00 /* Reachability.m in Sources */ = {isa = PBXBuildFile; fileRef = BA1A40F51BE497E5009A5E00 /* Reachability.m */; settings = {ASSET_TAGS = (); }; };
20+
BA8408531BE250C80093B013 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BA8408521BE250C80093B013 /* SystemConfiguration.framework */; };
21+
BA8408541BE251010093B013 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BA8408521BE250C80093B013 /* SystemConfiguration.framework */; };
1622
DF0A03231B3BABEC00E3778C /* libQiniuSDK Mac.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = DF2CDDFF19DAC05500CE01FB /* libQiniuSDK Mac.dylib */; };
1723
DF0A03241B3BAC3900E3778C /* QNFormUploadTest.m in Sources */ = {isa = PBXBuildFile; fileRef = DF3C504619DD7BA6000F548F /* QNFormUploadTest.m */; };
1824
DF0A03251B3BAC5700E3778C /* libQiniuSDK iOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DF2CDE1A19DAC08400CE01FB /* libQiniuSDK iOS.a */; };
@@ -133,6 +139,11 @@
133139
93CEF47D1BDE11FF00750FE8 /* QNPHAssetFile.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = QNPHAssetFile.m; sourceTree = "<group>"; };
134140
948F5D59B2BD6CACC644FA14 /* Pods-QiniuSDK MacTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-QiniuSDK MacTests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-QiniuSDK MacTests/Pods-QiniuSDK MacTests.debug.xcconfig"; sourceTree = "<group>"; };
135141
9A0CE9E3B1F13E790C38CB75 /* Pods-QiniuSDK iOSTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-QiniuSDK iOSTests.release.xcconfig"; path = "Pods/Target Support Files/Pods-QiniuSDK iOSTests/Pods-QiniuSDK iOSTests.release.xcconfig"; sourceTree = "<group>"; };
142+
BA16592E1BDBD6FB00C7304A /* QNStats.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = QNStats.h; sourceTree = "<group>"; };
143+
BA16592F1BDBD6FB00C7304A /* QNStats.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = QNStats.m; sourceTree = "<group>"; };
144+
BA1A40F41BE497E5009A5E00 /* Reachability.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Reachability.h; path = Reachability/Reachability.h; sourceTree = "<group>"; };
145+
BA1A40F51BE497E5009A5E00 /* Reachability.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Reachability.m; path = Reachability/Reachability.m; sourceTree = "<group>"; };
146+
BA8408521BE250C80093B013 /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.0.sdk/System/Library/Frameworks/SystemConfiguration.framework; sourceTree = DEVELOPER_DIR; };
136147
C24CE1990894CD3CA9A17042 /* Pods-QiniuSDK iOSTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-QiniuSDK iOSTests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-QiniuSDK iOSTests/Pods-QiniuSDK iOSTests.debug.xcconfig"; sourceTree = "<group>"; };
137148
DB8C25D8ADEC1AAEAFE9BB8A /* Pods-QiniuSDK iOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-QiniuSDK iOS.debug.xcconfig"; path = "Pods/Target Support Files/Pods-QiniuSDK iOS/Pods-QiniuSDK iOS.debug.xcconfig"; sourceTree = "<group>"; };
138149
DEC82F60B1102AD44ABC9284 /* Pods-QiniuSDK Mac.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-QiniuSDK Mac.debug.xcconfig"; path = "Pods/Target Support Files/Pods-QiniuSDK Mac/Pods-QiniuSDK Mac.debug.xcconfig"; sourceTree = "<group>"; };
@@ -227,6 +238,7 @@
227238
isa = PBXFrameworksBuildPhase;
228239
buildActionMask = 2147483647;
229240
files = (
241+
BA8408531BE250C80093B013 /* SystemConfiguration.framework in Frameworks */,
230242
22019FE04FB937FAB13FDFFD /* libPods-QiniuSDK iOS.a in Frameworks */,
231243
);
232244
runOnlyForDeploymentPostprocessing = 0;
@@ -236,6 +248,7 @@
236248
buildActionMask = 2147483647;
237249
files = (
238250
DF5AC8E81B5F509200728D30 /* libresolv.dylib in Frameworks */,
251+
BA8408541BE251010093B013 /* SystemConfiguration.framework in Frameworks */,
239252
DF0A03251B3BAC5700E3778C /* libQiniuSDK iOS.a in Frameworks */,
240253
DF293C9A19DBC09400799011 /* libz.dylib in Frameworks */,
241254
7277FD17389341BDCAD29727 /* libPods-QiniuSDK iOSTests.a in Frameworks */,
@@ -263,6 +276,7 @@
263276
A955AABD20BF51BFE5032419 /* Frameworks */ = {
264277
isa = PBXGroup;
265278
children = (
279+
BA8408521BE250C80093B013 /* SystemConfiguration.framework */,
266280
DF5AC8E71B5F509200728D30 /* libresolv.dylib */,
267281
DF293C9319DB860200799011 /* libz.dylib */,
268282
DF293C9019DB85CB00799011 /* libz.dylib */,
@@ -274,6 +288,15 @@
274288
name = Frameworks;
275289
sourceTree = "<group>";
276290
};
291+
BA0FAD491BE25EB300DD5C51 /* Reachiability */ = {
292+
isa = PBXGroup;
293+
children = (
294+
BA1A40F41BE497E5009A5E00 /* Reachability.h */,
295+
BA1A40F51BE497E5009A5E00 /* Reachability.m */,
296+
);
297+
name = Reachiability;
298+
sourceTree = "<group>";
299+
};
277300
DF293C9B19DBC2AE00799011 /* Http */ = {
278301
isa = PBXGroup;
279302
children = (
@@ -288,6 +311,8 @@
288311
DFF5252F1A6235D100D02BA1 /* QNSessionManager.h */,
289312
DFF525301A6235D100D02BA1 /* QNSessionManager.m */,
290313
DFF525361A626A3700D02BA1 /* QNHttpDelegate.h */,
314+
BA16592E1BDBD6FB00C7304A /* QNStats.h */,
315+
BA16592F1BDBD6FB00C7304A /* QNStats.m */,
291316
);
292317
path = Http;
293318
sourceTree = "<group>";
@@ -317,6 +342,7 @@
317342
DF2CDE4D19DAC6A400CE01FB /* QiniuSDK */ = {
318343
isa = PBXGroup;
319344
children = (
345+
BA0FAD491BE25EB300DD5C51 /* Reachiability */,
320346
DFA9B65519E0B53700A15FD1 /* Recorder */,
321347
DF293C9B19DBC2AE00799011 /* Http */,
322348
DF2CDE4E19DAC6A400CE01FB /* Common */,
@@ -412,6 +438,7 @@
412438
DF0D23CD19DCE6C400D6B68F /* QNResponseInfo.h in Headers */,
413439
DFBF63711BCCE2A600A771D8 /* QNSystem.h in Headers */,
414440
DFF126F61B63ABED0005C39C /* QNALAssetFile.h in Headers */,
441+
BA1659301BDBD6FB00C7304A /* QNStats.h in Headers */,
415442
DF6099FA1A5676AA00AC7297 /* QNDns.h in Headers */,
416443
DF437CD21B2426270099587B /* GTM_Base64.h in Headers */,
417444
DF293C9E19DBC2AE00799011 /* QNUserAgent.h in Headers */,
@@ -713,6 +740,7 @@
713740
DF482FD91B0DA8A2000DAD98 /* QNConfiguration.m in Sources */,
714741
DF609A061A58E39D00AC7297 /* QNFormUpload.m in Sources */,
715742
DF293C9F19DBC2AE00799011 /* QNUserAgent.m in Sources */,
743+
BA1659311BDBD6FB00C7304A /* QNStats.m in Sources */,
716744
DFA9B65919E0B53700A15FD1 /* QNFileRecorder.m in Sources */,
717745
93CEF47F1BDE11FF00750FE8 /* QNPHAssetFile.m in Sources */,
718746
DF2CDE6119DAC6A400CE01FB /* QNCrc32.m in Sources */,
@@ -759,6 +787,7 @@
759787
DFA9B63D19DF904000A15FD1 /* QNEtag.m in Sources */,
760788
DF437CD51B2426270099587B /* GTM_Base64.m in Sources */,
761789
DF482FDA1B0DA8A2000DAD98 /* QNConfiguration.m in Sources */,
790+
BA1659321BDBD6FB00C7304A /* QNStats.m in Sources */,
762791
DF609A081A58E39D00AC7297 /* QNFormUpload.m in Sources */,
763792
93CEF4801BDE11FF00750FE8 /* QNPHAssetFile.m in Sources */,
764793
DF293CA019DBC2AE00799011 /* QNUserAgent.m in Sources */,
@@ -767,6 +796,7 @@
767796
DF293CA719DC05B800799011 /* QNHttpManager.m in Sources */,
768797
DF293CAC19DC0E5300799011 /* QNResumeUpload.m in Sources */,
769798
DF437CDC1B2429E10099587B /* QNUpToken.m in Sources */,
799+
BA1A40F61BE497E5009A5E00 /* Reachability.m in Sources */,
770800
DFF525341A6235D100D02BA1 /* QNSessionManager.m in Sources */,
771801
DFA39AA719F1272800A1A158 /* QNAsyncRun.m in Sources */,
772802
DFA9B64B19E0018800A15FD1 /* QNUploadOption.m in Sources */,

QiniuSDK/Http/QNHttpDelegate.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,17 @@ typedef BOOL (^QNCancelBlock)(void);
1616
withParams:(NSDictionary *)params
1717
withFileName:(NSString *)key
1818
withMimeType:(NSString *)mime
19+
withStats:(NSMutableDictionary *)stats
1920
withCompleteBlock:(QNCompleteBlock)completeBlock
2021
withProgressBlock:(QNInternalProgressBlock)progressBlock
2122
withCancelBlock:(QNCancelBlock)cancelBlock;
2223

24+
2325
- (void) post:(NSString *)url
2426
withData:(NSData *)data
2527
withParams:(NSDictionary *)params
2628
withHeaders:(NSDictionary *)headers
29+
withStats:(NSMutableDictionary *)stats
2730
withCompleteBlock:(QNCompleteBlock)completeBlock
2831
withProgressBlock:(QNInternalProgressBlock)progressBlock
2932
withCancelBlock:(QNCancelBlock)cancelBlock;

QiniuSDK/Http/QNHttpManager.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,15 @@
1515

1616
- (instancetype)initWithTimeout:(UInt32)timeout
1717
urlConverter:(QNUrlConvert)converter
18+
upStatsDropRate:(float)dropRate
1819
dns:(QNDnsManager *)dns;
1920

2021
- (void) multipartPost:(NSString *)url
2122
withData:(NSData *)data
2223
withParams:(NSDictionary *)params
2324
withFileName:(NSString *)key
2425
withMimeType:(NSString *)mime
26+
withStats:(NSMutableDictionary *)stats
2527
withCompleteBlock:(QNCompleteBlock)completeBlock
2628
withProgressBlock:(QNInternalProgressBlock)progressBlock
2729
withCancelBlock:(QNCancelBlock)cancelBlock;
@@ -30,6 +32,7 @@
3032
withData:(NSData *)data
3133
withParams:(NSDictionary *)params
3234
withHeaders:(NSDictionary *)headers
35+
withStats:(NSMutableDictionary *)stats
3336
withCompleteBlock:(QNCompleteBlock)completeBlock
3437
withProgressBlock:(QNInternalProgressBlock)progressBlock
3538
withCancelBlock:(QNCancelBlock)cancelBlock;

0 commit comments

Comments
 (0)