Make persistent connection timeout configurable and default to 60s
Showing
2 changed files
with
11 additions
and
1 deletions
| @@ -342,6 +342,10 @@ extern unsigned long const ASIWWANBandwidthThrottleAmount; | @@ -342,6 +342,10 @@ extern unsigned long const ASIWWANBandwidthThrottleAmount; | ||
| 342 | // Persistent connections only work when the server sends a 'Keep-Alive' header | 342 | // Persistent connections only work when the server sends a 'Keep-Alive' header |
| 343 | // Default is YES | 343 | // Default is YES |
| 344 | BOOL shouldAttemptPersistentConnection; | 344 | BOOL shouldAttemptPersistentConnection; |
| 345 | + | ||
| 346 | + // Number of seconds to keep an inactive persistent connection open on the client side | ||
| 347 | + // Default is 60 | ||
| 348 | + NSTimeInterval persistentConnectionTimeout; | ||
| 345 | 349 | ||
| 346 | // Set to yes when an appropriate keep-alive header is found | 350 | // Set to yes when an appropriate keep-alive header is found |
| 347 | BOOL connectionCanBeReused; | 351 | BOOL connectionCanBeReused; |
| @@ -716,6 +720,7 @@ extern unsigned long const ASIWWANBandwidthThrottleAmount; | @@ -716,6 +720,7 @@ extern unsigned long const ASIWWANBandwidthThrottleAmount; | ||
| 716 | @property (assign) int numberOfTimesToRetryOnTimeout; | 720 | @property (assign) int numberOfTimesToRetryOnTimeout; |
| 717 | @property (assign, readonly) int retryCount; | 721 | @property (assign, readonly) int retryCount; |
| 718 | @property (assign) BOOL shouldAttemptPersistentConnection; | 722 | @property (assign) BOOL shouldAttemptPersistentConnection; |
| 723 | +@property (assign) NSTimeInterval persistentConnectionTimeout; | ||
| 719 | @property (assign) BOOL shouldUseRFC2616RedirectBehaviour; | 724 | @property (assign) BOOL shouldUseRFC2616RedirectBehaviour; |
| 720 | @property (assign, readonly) BOOL connectionCanBeReused; | 725 | @property (assign, readonly) BOOL connectionCanBeReused; |
| 721 | @end | 726 | @end |
| @@ -223,6 +223,7 @@ static BOOL isiPhoneOS2; | @@ -223,6 +223,7 @@ static BOOL isiPhoneOS2; | ||
| 223 | [self setRequestMethod:@"GET"]; | 223 | [self setRequestMethod:@"GET"]; |
| 224 | 224 | ||
| 225 | [self setShouldAttemptPersistentConnection:YES]; | 225 | [self setShouldAttemptPersistentConnection:YES]; |
| 226 | + [self setPersistentConnectionTimeout:60.0]; | ||
| 226 | [self setShouldPresentCredentialsBeforeChallenge:YES]; | 227 | [self setShouldPresentCredentialsBeforeChallenge:YES]; |
| 227 | [self setShouldRedirect:YES]; | 228 | [self setShouldRedirect:YES]; |
| 228 | [self setShowAccurateProgress:YES]; | 229 | [self setShowAccurateProgress:YES]; |
| @@ -1805,7 +1806,10 @@ static BOOL isiPhoneOS2; | @@ -1805,7 +1806,10 @@ static BOOL isiPhoneOS2; | ||
| 1805 | // Otherwise, we'll assume we can keep this connection open | 1806 | // Otherwise, we'll assume we can keep this connection open |
| 1806 | } else { | 1807 | } else { |
| 1807 | [self setConnectionCanBeReused:YES]; | 1808 | [self setConnectionCanBeReused:YES]; |
| 1808 | - closeStreamTime = 60; | 1809 | + closeStreamTime = [self persistentConnectionTimeout]; |
| 1810 | +#if DEBUG_PERSISTENT_CONNECTIONS | ||
| 1811 | + NSLog(@"Set connection to close after %f seconds", closeStreamTime); | ||
| 1812 | +#endif | ||
| 1809 | } | 1813 | } |
| 1810 | } | 1814 | } |
| 1811 | } | 1815 | } |
| @@ -3748,6 +3752,7 @@ static BOOL isiPhoneOS2; | @@ -3748,6 +3752,7 @@ static BOOL isiPhoneOS2; | ||
| 3748 | @synthesize numberOfTimesToRetryOnTimeout; | 3752 | @synthesize numberOfTimesToRetryOnTimeout; |
| 3749 | @synthesize retryCount; | 3753 | @synthesize retryCount; |
| 3750 | @synthesize shouldAttemptPersistentConnection; | 3754 | @synthesize shouldAttemptPersistentConnection; |
| 3755 | +@synthesize persistentConnectionTimeout; | ||
| 3751 | @synthesize connectionCanBeReused; | 3756 | @synthesize connectionCanBeReused; |
| 3752 | @synthesize connectionInfo; | 3757 | @synthesize connectionInfo; |
| 3753 | @synthesize readStream; | 3758 | @synthesize readStream; |
-
Please register or login to post a comment