You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
AFURLConnectionByteSpeedMeasure is a drop in extension for AFNetworking to measure download and upload speed of an AFURLConnectionOperation and estimate completion times.
Usage
NSURLRequest *request = [NSURLRequestrequestWithURL:[NSURLURLWithString:@"https://download.thinkbroadband.com/1GB.zip"]];
AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request];
operation.downloadSpeedMeasure.active = YES;
// to avoid a retain cycle one has to pass a weak reference to operation into the progress block.
[operation setDownloadProgressBlock:^(NSUInteger bytesRead, longlong totalBytesRead, longlong totalBytesExpectedToRead) {
double speedInBytesPerSecond = operation.downloadSpeedMeasure.speed;
NSString *humanReadableSpeed = operation.downloadSpeedMeasure.humanReadableSpeed;
NSTimeInterval remainingTimeInSeconds = [operation.downloadSpeedMeasure remainingTimeOfTotalSize:totalBytesExpectedToRead numberOfCompletedBytes:totalBytesRead];
NSString *humanReadableRemaingTime = [operation.downloadSpeedMeasure humanReadableRemainingTimeOfTotalSize:totalBytesExpectedToRead numberOfCompletedBytes:totalBytesRead];
}];
Lincense
MIT
About
Extends AFNetworking with the ability to measure connection speed and estimate completion time.