in Source/TNLURLSessionManager.m [1861:1890]
static void _PrepareSessionManagement()
{
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
// Threading
sSynchronizeQueue = dispatch_queue_create("TNLURLSessionManager.synchronize.queue", DISPATCH_QUEUE_SERIAL);
sSynchronizeOperationQueue = [[NSOperationQueue alloc] init];
sSynchronizeOperationQueue.name = @"TNLURLSessionManager.synchronize.operation.queue";
sSynchronizeOperationQueue.maxConcurrentOperationCount = 1;
sSynchronizeOperationQueue.qualityOfService = (NSQualityOfServiceUtility + NSQualityOfServiceUserInitiated / 2);
sSynchronizeOperationQueue.underlyingQueue = sSynchronizeQueue;
sURLSessionTaskOperationQueue = [[NSOperationQueue alloc] init];
sURLSessionTaskOperationQueue.name = @"TNLURLSessionManager.task.operation.queue";
sURLSessionTaskOperationQueue.maxConcurrentOperationCount = NSOperationQueueDefaultMaxConcurrentOperationCount;
sURLSessionTaskOperationQueue.qualityOfService = (NSQualityOfServiceUtility + NSQualityOfServiceUserInitiated / 2);
// State
sOutstandingBackoffOperations = [[NSMutableDictionary alloc] init];
sOutstandingSerializeOperations = [[NSMutableDictionary alloc] init];
sSessionContextsDelegate = [[TNLURLSessionContextLRUCacheDelegate alloc] init];
sAppSessionContexts = [[TNLLRUCache alloc] initWithEntries:nil delegate:sSessionContextsDelegate];
sBackgroundSessionContexts = [[TNLLRUCache alloc] initWithEntries:nil delegate:sSessionContextsDelegate];
sActiveURLSessionTaskOperations = [[NSMutableSet alloc] init];
sBackgroundSessionCompletionHandlerDictionary = [[NSMutableDictionary alloc] init];
sBackoffBehaviorProvider = [[TNLSimpleBackoffBehaviorProvider alloc] init];
});
}