Minor formatting changes

Adding line comment about why cancelConnection is being called as it is

Minor edit to comment about manually sending delegate message on cancel
This commit is contained in:
Mattt Thompson 2012-02-24 09:01:00 -08:00
parent f0ce3a86e3
commit e0831197d3

View file

@ -334,29 +334,32 @@ static inline BOOL AFStateTransitionIsValid(AFOperationState fromState, AFOperat
self.state = AFHTTPOperationFinishedState; self.state = AFHTTPOperationFinishedState;
} }
-(void)cancelConnection {
[self willChangeValueForKey:@"isCancelled"];
_cancelled = YES;
if (self.connection) {
[self.connection cancel];
//We must send this delegate protcol message ourselves since the above [self.connection cancel] causes the connection to never send another message to its delegate.
NSDictionary *userInfo = [NSDictionary dictionaryWithObject:[self.request URL] forKey:NSURLErrorFailingURLErrorKey];
[self performSelector:@selector(connection:didFailWithError:) withObject:self.connection withObject:[NSError errorWithDomain:NSURLErrorDomain code:NSURLErrorCancelled userInfo:userInfo]];
}
[self didChangeValueForKey:@"isCancelled"];
}
- (void)cancel { - (void)cancel {
[self.lock lock]; [self.lock lock];
if (![self isFinished] && ![self isCancelled]) { if (![self isFinished] && ![self isCancelled]) {
[super cancel]; [super cancel];
[self performSelector:@selector(cancelConnection) onThread:[[self class] networkRequestThread] withObject:nil waitUntilDone:NO modes:[self.runLoopModes allObjects]];
// Cancel the connection on the thread it runs on to prevent race conditions
[self performSelector:@selector(cancelConnection) onThread:[[self class] networkRequestThread] withObject:nil waitUntilDone:NO modes:[self.runLoopModes allObjects]];
} }
[self.lock unlock]; [self.lock unlock];
} }
- (void)cancelConnection {
[self willChangeValueForKey:@"isCancelled"];
_cancelled = YES;
if (self.connection) {
[self.connection cancel];
// Manually send this delegate message since `[self.connection cancel]` causes the connection to never send another message to its delegate
NSDictionary *userInfo = [NSDictionary dictionaryWithObject:[self.request URL] forKey:NSURLErrorFailingURLErrorKey];
[self performSelector:@selector(connection:didFailWithError:) withObject:self.connection withObject:[NSError errorWithDomain:NSURLErrorDomain code:NSURLErrorCancelled userInfo:userInfo]];
}
[self didChangeValueForKey:@"isCancelled"];
}
#pragma mark - NSURLConnectionDelegate #pragma mark - NSURLConnectionDelegate
- (BOOL)connection:(NSURLConnection *)connection - (BOOL)connection:(NSURLConnection *)connection