NSQualityOfService TNLConvertTNLPriorityToQualityOfService()

in Source/TNLPriority.m [276:312]


NSQualityOfService TNLConvertTNLPriorityToQualityOfService(TNLPriority pri)
{

    /*

     VLo              Lo              Nml             Hi              VHi
     -2              -1                0               1               2
      9              17               21              25              33
     Bg              Uti                             UIni            UInt

     */

    switch (pri) {
        case TNLPriorityVeryHigh:
            return NSQualityOfServiceUserInteractive;
        case TNLPriorityHigh:
            return NSQualityOfServiceUserInitiated;
        case TNLPriorityNormal:
            return ((NSQualityOfServiceUserInitiated - NSQualityOfServiceUtility) / 2) + NSQualityOfServiceUtility;
        case TNLPriorityLow:
            return NSQualityOfServiceUtility;
        case TNLPriorityVeryLow:
            return NSQualityOfServiceBackground;
        default:
            break;
    }

    if (pri < TNLPriorityVeryLow) {
        return NSQualityOfServiceBackground - 1;
    }
    if (pri > TNLPriorityVeryHigh) {
        return NSQualityOfServiceUserInteractive + 1;
    }

    TNLAssertNever();
    return NSQualityOfServiceDefault;
}