resmgr_handle_tune()

Точная подстройка менеджера ресурсов (ассоциации клиентов/fd с OCB)

Прототип:

#include <sys/resmgr.h>
int resmgr_handle_tune( int min_handles,
int min_clients,
int max_client_handles,
int *min_handles_old,
int *min_clients_old,
int *max_client_handles_old );

Аргументы:

min_handles
Для выполнения описанного сопоставления структура менеджера ресурсов использует структуры _resmgr_handle_entry. Это значение описывает минимальное количество таких структур. Если используется больше, чем это число, они могут быть освобождены при помощи free() по мере их отсоединения.
min_clients
max_client_handles
Для выполнения описанного сопоставления структура менеджера ресурсов использует хеш-сегменты, по одному на каждого клиента. min_clients описывает минимальное количество таких сегментов, которые нужно хранить. Если с менеджером ресурсов обменивается данными больше, чем это количество клиентов, то эти сегменты могут быть освобождены при помощи free(), поскольку определенные клиенты закрывают менеджеру доступ к своим fd.

max_client_handles описывает размер каждого из этих хэш-сегментов. Максимальное количество поисков для поиска конкретного сопоставления fd-to-OCB - это максимальное значение fd клиента, деленное на max_client_handles, округленное до ближайшего целого числа, то есть в псевдокоде: ceil( max fd / max_client_handles ).

Если это значение изменяется, новое значение вступает в силу для вновь подключившихся клиентов. Существующие клиенты не пострадают. Если для любого из трех вышеперечисленных параметров указаны отрицательные значения, их текущие значения остаются неизменными.
*_old
Если какой-либо из них не NULL, возвращается соответствующее значение, используемое слоем менеджера ресурсов во время вызова.

Библиотека:

libc

Описание:

Одна из функций структуры менеджера ресурсов - выполнять отображение дескрипторов клиентских файлов в структуры, локальные по отношению к менеджеру ресурсов, которые описывают эти дескрипторы. Эти структуры часто являются блоками открытого контекста (OCB, Open Control Block). Подробнее о OCB см. в resmgr_open_bind(). Можно использовать resmgr_handle_tune() для настройки определенных аспектов этого сопоставления и последующих поисков клиентских OCB.

Возвращаемое значение:

0

Классификация:

ЗОСРВ «Нейтрино»

Безопасность использования
Точка остановки потока
Нет
Обработчик прерываний
Нет
Обработчик сигналов
Нет
В потоке
Да

Тематические ссылки:

resmgr_open_bind()




Предыдущий раздел: Описание API системной библиотеки