|
41 | 41 | @interface FIRStorage () { |
42 | 42 | /// Stored Auth reference, if it exists. This needs to be stored for `copyWithZone:`. |
43 | 43 | id<FIRAuthInterop> _Nullable _auth; |
| 44 | + NSTimeInterval _maxUploadRetryTime; |
| 45 | + NSTimeInterval _maxDownloadRetryTime; |
| 46 | + NSTimeInterval _maxOperationRetryTime; |
44 | 47 | } |
45 | 48 | @end |
46 | 49 |
|
@@ -154,8 +157,14 @@ - (instancetype)initWithApp:(FIRApp *)app |
154 | 157 | _dispatchQueue = dispatch_queue_create("com.google.firebase.storage", DISPATCH_QUEUE_SERIAL); |
155 | 158 | _fetcherServiceForApp = [FIRStorage fetcherServiceForApp:_app bucket:bucket auth:auth]; |
156 | 159 | _maxDownloadRetryTime = 600.0; |
| 160 | + _maxDownloadRetryInterval = |
| 161 | + [FIRStorageUtils computeRetryIntervalFromRetryTime:_maxDownloadRetryTime]; |
157 | 162 | _maxOperationRetryTime = 120.0; |
| 163 | + _maxOperationRetryInterval = |
| 164 | + [FIRStorageUtils computeRetryIntervalFromRetryTime:_maxOperationRetryTime]; |
158 | 165 | _maxUploadRetryTime = 600.0; |
| 166 | + _maxUploadRetryInterval = |
| 167 | + [FIRStorageUtils computeRetryIntervalFromRetryTime:_maxUploadRetryTime]; |
159 | 168 | } |
160 | 169 | return self; |
161 | 170 | } |
@@ -205,6 +214,50 @@ - (NSString *)description { |
205 | 214 | return [NSString stringWithFormat:@"%@ %p: %@", [self class], self, _app]; |
206 | 215 | } |
207 | 216 |
|
| 217 | +#pragma mark - Retry time intervals |
| 218 | + |
| 219 | +- (void)setMaxUploadRetryTime:(NSTimeInterval)maxUploadRetryTime { |
| 220 | + @synchronized(self) { |
| 221 | + _maxUploadRetryTime = maxUploadRetryTime; |
| 222 | + _maxUploadRetryInterval = |
| 223 | + [FIRStorageUtils computeRetryIntervalFromRetryTime:maxUploadRetryTime]; |
| 224 | + } |
| 225 | +} |
| 226 | + |
| 227 | +- (NSTimeInterval)maxDownloadRetryTime { |
| 228 | + @synchronized(self) { |
| 229 | + return _maxDownloadRetryTime; |
| 230 | + } |
| 231 | +} |
| 232 | + |
| 233 | +- (void)setMaxDownloadRetryTime:(NSTimeInterval)maxDownloadRetryTime { |
| 234 | + @synchronized(self) { |
| 235 | + _maxDownloadRetryTime = maxDownloadRetryTime; |
| 236 | + _maxDownloadRetryInterval = |
| 237 | + [FIRStorageUtils computeRetryIntervalFromRetryTime:maxDownloadRetryTime]; |
| 238 | + } |
| 239 | +} |
| 240 | + |
| 241 | +- (NSTimeInterval)maxUploadRetryTime { |
| 242 | + @synchronized(self) { |
| 243 | + return _maxUploadRetryTime; |
| 244 | + } |
| 245 | +} |
| 246 | + |
| 247 | +- (void)setMaxOperationRetryTime:(NSTimeInterval)maxOperationRetryTime { |
| 248 | + @synchronized(self) { |
| 249 | + _maxOperationRetryTime = maxOperationRetryTime; |
| 250 | + _maxOperationRetryInterval = |
| 251 | + [FIRStorageUtils computeRetryIntervalFromRetryTime:maxOperationRetryTime]; |
| 252 | + } |
| 253 | +} |
| 254 | + |
| 255 | +- (NSTimeInterval)maxOperationRetryTime { |
| 256 | + @synchronized(self) { |
| 257 | + return _maxOperationRetryTime; |
| 258 | + } |
| 259 | +} |
| 260 | + |
208 | 261 | #pragma mark - Public methods |
209 | 262 |
|
210 | 263 | - (FIRStorageReference *)reference { |
@@ -261,4 +314,5 @@ + (void)enableBackgroundTasks:(BOOL)isEnabled { |
261 | 314 | [NSException raise:NSGenericException format:@"getDownloadTasks not implemented"]; |
262 | 315 | return nil; |
263 | 316 | } |
| 317 | + |
264 | 318 | @end |
0 commit comments