7. Подсистема "Протоколы коммуникационных интерфейсов" (TProtocolS)
Подсистема "Протоколы коммуникационных интерфейсов" представлена объектом TProtocolS, который содержит на уровне подсистемы модульные объекты отдельных протоколов TProtocol. Каждый протокол содержит объекты открытых сеансов входящих протоколов TProtocolIn.
Объект TProtocolS предоставляет доступ к входящим и исходящим протоколам отдельно взятых типов транспортных протоколов. Внутренняя сторона исходящего протокола строится по потоковому принципу с индивидуальной структурой потока для каждой реализации протокола.
7.1. Объект подсистемы "Протоколы коммуникационных интерфейсов" (TProtocolS)
Публичные методы:
- int subVer( ); — Версия подсистемы.
- AutoHD<TProtocol> at( const string &id ) const; — Подключение к модулю протокола id.
- string optDescr( ); — Локализованная помощь по опциям командной строки и параметрам конфигурационного файла.
7.2. Модульный объект протокола (TProtocol)
Наследует: | TModule. |
Наследуется: | Корневыми объектами модулей подсистемы "Протоколы". |
Публичные методы:
- virtual void itemListIn( vector<string> &ls, const string &curIt = "" ); — Список элементов протокола для индивидуальной адресации в транспорте.
- void list( vector<string> &list ) const; — Список открытых входящих сеансов.
- bool openStat( const string &name ) const; — Проверка на открытость входящего сеанса с указанным именем.
- void open( const string &name, TTransportIn *tr = NULL, const string &sender = "" ); — Открытие входящего сеанса от имени транспорта tr.
- void close( const string &name ); — Закрытие входящего сеанса.
- AutoHD<TProtocolIn> at( const string &name ) const; — Подключение к открытому входящему сеансу.
- virtual void outMess( XMLNode &io, TTransportOut &tro ); — Отправка данных в дереве XML in посредством данного протокола и транспорта tro.
7.3. Объект сеанса входящего протокола (TProtocolIn)
Наследует: | TCntrNode. |
Наследуется: | Объектами сеанса входящего протокола модулей подсистемы "Протоколы". |
Публичные методы:
- TProtocolIn( const string &name ); — Инициализирующий конструктор.
- string name( ); — Имя входящего сеанса.
- AutoHD<TTransportIn> &srcTr( ); — Транспорт-источник, открывший данный сеанс входящего протокола.
- const string &srcAddr( ) — Адрес отправителя; во второй строке служебная часть адреса для для обратных сообщений.
- virtual unsigned waitReqTm( ); — Время ожидания запросов на входящем транспорте (в миллисекундах), после которого обращаться к протоколу с пустым сообщением — режим пула. Установка в ноль отключает режим пула.
- virtual void setSrcTr( TTransportIn *vl ); — Установка транспорта-источника открытия данного сеанса входящего протокола.
- virtual void setSrcAddr( const string &vl ); — Установка адреса отправителя.
- int writeTo( const string &data ); — Отправка данных data сообщения обратно отправителю, в srcAddr().
- virtual bool mess( const string &request, string &answer ); — Передача неструктурированных данных на обработку протоколу.
- TProtocol &owner( ) const; — Протокол, владелец входящего сеанса.