Процедуры, применимые к обоим C-типам
Поддержка приоритетов setup и удержания является опционной. Узел может распознать эту информацию, но быть не способен выполнить запрошенную операцию. Узел должен передать информацию вниз по течению неизменной.
Как отмечено выше, приоритетное прерывание обслуживания использовано с привлечением двух приоритетов. Приоритет Setup является приоритетом получения ресурсов. Приоритет удержания является приоритетом удержания ресурса. Точнее, приоритет удержания является приоритетом, при котором ресурсы выделенные этой сессии будут зарезервированы. Приоритет Setup не должен быть никогда выше, чем приоритет удержания для заданной сессии.
Приоритеты setup и удержания являются прямыми аналогами приоритетного прерывания обслуживания и защитного приоритета, как это определено в [9]. В то время как взаимодействие этих двух объектов является в конце концов вопросом политики, следующие взаимодействия рекомендуются по умолчанию.
Когда присутствуют оба объекта, используется элемент приоритетного прерывания обслуживания. Соответствие между этими приоритетами определено следующим образом. Атрибут приоритета сессии S соответствует приоритету прерывания обслуживания P согласно формуле P = 2(14-2S). Таблица соответствия приоритетов представлена ниже.
Приоритетное прерывание
обслуживания
Когда рассматривается новое сообщение Path с точки зрения приемлемости, запрашиваемая полоса сравнивается с возможной полосой в случае приоритета, заданного в Setup.
Если запрашиваемая полоса недоступна, посылается сообщение PathErr с кодом ошибки 01 (Admission Control Failure) и значением ошибки 0x0002. Первый 0 в значении ошибки указывает на глобально определенный субкод и не несет в себе конкретных данных. Код 002 указывает "запрошенная полоса недоступна".
Если запрашиваемая полоса меньше чем неиспользуемая полоса, тогда обработка запроса завершена. Если запрашиваемая полоса доступна, но занята менее приоритетными сессиями, тогда эти сессии (начиная с самой низкоприоритетной) могут быть прерваны для получения требующейся полосы.
Когда поддерживается приоритетное прерывание обслуживания, каждое из таких приоритетных резервирований осуществляет запрос TC_Preempt() локальным клиентам, передав субкод, который указывает на причину этого запроса. В этом случае следует послать ниже стоящим получателям и вышестоящим отправителям ResvErr и/или PathErr с кодом "Policy Control failure".
Поддержка локальной защиты является опционной. Узел может распознать флаг локальной защиты, но быть неспособным выполнить запрашиваемую операцию. В этом случае, узел должен передать информацию вниз по течению без изменений.
Запись субобъекта метка в объект ROUTE_RECORD управляется флагом записи метки в объекте SESSION_ATTRIBUTE. Так как субобъект метка не нужен всем приложениям, он не записывается автоматически. Флаг позволяет приложениям запрашивать это только в случае необходимости.
Содержимым поля имя сессии является строка, обычно отображаемых символов. Поле длина должна всегда быть кратной 4 и быть не меньше 8. Для объектов, длина которых не кратна 4, объект дополняется в конце символами NULL. Поле длина имени содержит длину активной строки.