Уникальный идентификатор под­ключения

Каждое подключение имеет уникальный идентификатор под­ключения (идентификатор доступа), сообщаемый в ответ на примитив ПОДКЛЮЧЕНИЕ. Используя в дальнейшем этот идентификатор, кластер-объект может различать обращения на свои входы, выполняемые через разные подключения, то есть различать разных клиентов. Для этого ядро КЛОС сообщает кластеру-объекту в качестве обязательного параметра иденти­фикатор подключения, через которое выполнялось выбираемое объектом обращение от клиента (об одном исключении речь пойдет ниже). Об идентификаторах подключений к статическим группам входов, создаваемым при порождении кластера-объек­та, а не в результате примитива ПОДКЛЮЧЕНИЕ, кластеру-объекту, конечно, ничего заранее не известно. Статические группы входов как бы «открыты» для доступа с точки зрения самого кластера-объекта. В качестве примера можно рассмот­реть статическую группу входов (OPEN—READ, OPEN— WRITE). При обращении на вход, например, OPEN—READ кластер-файл выполняет ПОДКЛЮЧЕНИЕ к группе входов (CLOSE, READ) и в качестве обратного параметра сообщает обратившемуся клиенту идентификатор подключения к этой группе входов.

Примитив ОТКЛЮЧЕНИЕ может выполняться кластером-объектом с указанием идентификатора созданного ранее под­ключения. Ядро запрещает в дальнейшем все обращения через указанное подключение, хотя уже «проскочившие», но еще не выбранные объектом, обращения через данное подключение остаются.

Метки: , ,

Связанные записи