mirror of
https://github.com/zhigang1992/RestKit.git
synced 2026-04-07 09:37:31 +08:00
Introduces four modes for handling background requests: * RKRequestBackgroundPolicyNone - The default behavior replicating pre-background behavior. No special action is taken with regards to backgrounding. * RKRequestBackgroundPolicyCancel - On transition to the background, requests with this policy set will be cancelled automatically and the delegate informed. * RKRequestBackgroundPolicyContinue - Requests with this policy will be continued in the background after the app has been transitioned. * RKRequestBackgroundPolicyRequeue - Requests with this policy will be cancelled and then immediately placed onto the queue for processing the next time the app is returned to the foreground.
69 lines
1.5 KiB
Objective-C
69 lines
1.5 KiB
Objective-C
//
|
|
// RKRequestQueue.h
|
|
// RestKit
|
|
//
|
|
// Created by Blake Watters on 12/1/10.
|
|
// Copyright 2010 Two Toasters. All rights reserved.
|
|
//
|
|
|
|
#import <Foundation/Foundation.h>
|
|
#import "RKRequest.h"
|
|
|
|
/**
|
|
* A lightweight queue implementation responsible
|
|
* for dispatching and managing RKRequest objects
|
|
*/
|
|
@interface RKRequestQueue : NSObject {
|
|
NSMutableArray* _requests;
|
|
NSInteger _totalLoading;
|
|
NSTimer* _queueTimer;
|
|
BOOL _suspended;
|
|
}
|
|
|
|
/**
|
|
* Gets the flag that determines if new load requests are allowed to reach the network.
|
|
*
|
|
* Because network requests tend to slow down performance, this property can be used to
|
|
* temporarily delay them. All requests made while suspended are queued, and when
|
|
* suspended becomes false again they are executed.
|
|
*/
|
|
@property (nonatomic) BOOL suspended;
|
|
|
|
/**
|
|
* Return the global queue
|
|
*/
|
|
+ (RKRequestQueue*)sharedQueue;
|
|
|
|
/**
|
|
* Set the global queue
|
|
*/
|
|
+ (void)setSharedQueue:(RKRequestQueue*)requestQueue;
|
|
|
|
/**
|
|
* Add an asynchronous request to the queue and send it as
|
|
* as soon as possible
|
|
*/
|
|
- (void)sendRequest:(RKRequest*)request;
|
|
|
|
/**
|
|
* Cancel a request that is in progress
|
|
*/
|
|
- (void)cancelRequest:(RKRequest*)request;
|
|
|
|
/**
|
|
* Cancel all requests with a given delegate
|
|
*/
|
|
- (void)cancelRequestsWithDelegate:(NSObject<RKRequestDelegate>*)delegate;
|
|
|
|
/**
|
|
* Cancel all active or pending requests.
|
|
*/
|
|
- (void)cancelAllRequests;
|
|
|
|
/**
|
|
* Returns YES when a Request is on the queue
|
|
*/
|
|
- (BOOL)containsRequest:(RKRequest*)request;
|
|
|
|
@end
|