resmgr_attr_t

Структура, характеризующая атрибуты менеджера ресурсов

Прототип:

#include <sys/iofunc.h>
#include <sys/dispatch.h>
typedef struct _resmgr_attr {
unsigned flags;
unsigned nparts_max;
unsigned msg_max_size;
int (*other_func)( resmgr_context_t *, void *msg );
} resmgr_attr_t;

Описание:

Тип используется в функциях библиотеки resmgr для создания и обслуживания менеджеров ресурсов.

Можно задать такие атрибуты, как максимальный размер сообщения, количество составных частей сообщения (количество IOV в контексте), и флаги в структуре attr.

Структура включает следующие поля:

flags
Флаги, влияющие на поведение интерфейса менеджера ресурсов; 0, или комбинация следующих бит (определены в <sys/dispatch.h>):
RESMGR_FLAG_ATTACH_LOCAL
настроить менеджер ресурсов, но не регистрировать его путь при помощи procnto-*. Возможна отправка сообщений каналу менеджера ресурсов (если он известен).
RESMGR_FLAG_ATTACH_OTHERFUNC
поле other_func данной структуры указывает на функцию для необработанных сообщений ввода/вывода.
RESMGR_FLAG_CROSS_ENDIAN
сервер поддерживает любой порядок байт. Фреймворк выполняет все необходимые преобразования на стороне сервера; клиенту не нужно ничего делать.
RESMGR_FLAG_NO_DEFAULT_FUNC
не реализован

Note: Не стоит путать эти флаги с теми, что передаются в аргументе flags в resmgr_attach(). Имена этих флагов не начинаются с подчеркивания (_).

nparts_max
Количество компонентов, выделяемых для массива IOV. При указании 0, библиотека менеджера ресурсов повысит значение до минимума, доступного самой библиотеке.
msg_max_size
Минимальный объем места, который можно зарезервировать для приема сообщения, выделенный в resmgr_context_alloc(). Если значение слишком мало или равно 0, resmgr_attach() выбирает значение, которое можно использовать.
other_func
Указатель на функцию, которая вызывается, если менеджер ресурсов получает сообщение ввода/вывода, которое не удалось обработать. Эта функция вызовется только в том случае, если установлен флаг RESMGR_FLAG_ATTACH_OTHERFUNC в поле flags данной структуры.

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

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

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

procnto-*, resmgr_attach(), resmgr_context_t




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