Пространство имен so_4::sop


Подробное описание

Средства поддержки SOP.


Классы

class  all_enable_filter_t
 Фильтр, который разрешает обработку сообщений любых агентов. Подробнее...
class  std_filter_impl_t
 Реализация интерфейса std_filter_t. Подробнее...
class  filter_t
 Интерфейс фильтра. Подробнее...
class  filter_shptr_t
 Класс "умного" указателя на фильтр. Подробнее...
class  std_filter_t
 Интерфейс фильтра, который разрешает обработку сообщений только некоторых глобальных агентов. Подробнее...
class  filter_info_t
 Класс запроса на установку фильтра. Подробнее...
class  filter_resp_info_t
 Класс ответа на установку фильтра. Подробнее...
class  handshake_info_t
 Запрос операции handshake. Подробнее...
class  handshake_resp_info_t
 Результат операции handshake. Подробнее...
class  package_header_t
 Класс для обработки заголовка SOP-пакета. Подробнее...
class  ping_info_t
 Класс запроса переодического ping-а. Подробнее...
class  ping_resp_info_t
 Класс ответа на переодический ping. Подробнее...
class  query_agent_state_info_t
 Класс запроса состояния агента. Подробнее...
class  query_agent_state_resp_info_t
 Класс ответа на запрос состояния агента. Подробнее...
class  req_info_t
 Базовый класс для элементов SOP. Подробнее...
class  req_info_ptr_t
class  resp_info_t
 Базовый класс для классов-ответов. Подробнее...
class  unknown_resp_info_t
 Класс ответа на неизвестный пакет. Подробнее...
class  send_msg_info_t
 Класс запроса на отправку сообщения. Подробнее...
class  send_msg_resp_info_t
 Класс ответа на отправку сообщения. Подробнее...

Пространства имен

namespace  handshake
 Средства поддержки процедуры handshake.

Определения типов

typedef std::auto_ptr< filter_tfilter_auto_ptr_t
 Псевдоним auto_ptr для filter.
typedef std::deque
< req_info_ptr_t
req_info_storage_t
 Хранилище элементов SOP.

Перечисления

enum  req_id_t {
  e_req_send_msg, e_resp_send_msg, e_req_query_agent_state, e_resp_query_agent_state,
  e_resp_unknown, e_req_filter, e_resp_filter, e_req_ping,
  e_resp_ping, e_req_handshake, e_resp_handshake
}
 Идентификаторы элементов SOP. Подробнее...
enum  value_type_t {
  e_type_undefined, e_byte_stream, e_int_stream, e_uint_stream,
  e_real_stream, e_oess_stdsn_stream, e_oess_io_custom_stream
}
 Тип данных в поле сообщения. Подробнее...

Функции

filter_auto_ptr_t create_all_enable_filter ()
 Создает фильтр, который разрешает обработку сообщений всех глобальных агентов.
std_filter_tcreate_std_filter ()
 Создает объект, реализующий интерфейс std_filter_t.
oess_1::io::obinstream_t & operator<< (oess_1::io::obinstream_t &o, const package_header_t &h)
 Более простой способ записи заголовка пакета в поток.
oess_1::io::ibinstream_t & operator>> (oess_1::io::ibinstream_t &o, package_header_t &h)
 Более простой способ чтения заголовка пакета из потока.
bool parse (so_4::rt::comm_buf_t &what, req_info_storage_t &reqs, std::string &error_desc)
 Десериализация элементов SOP.
void format (const req_info_storage_t &reqs, so_4::rt::comm_buf_t &to)
 Сериализация элементов SOP.

Переменные

const package_header_t::uint32_t default_magic_value
 Значение magic_value для обычных SOP-пакетов.


Типы

typedef std::auto_ptr< filter_t > so_4::sop::filter_auto_ptr_t

Псевдоним auto_ptr для filter.

Начиная с:
v.4.4.0-b4
Примеры:
sample/filter/c1.cpp, sample/filter/c2.cpp и sample/high_traffic/client.cpp.


Перечисления

Идентификаторы элементов SOP.

Формат: aarrvv, где:

  • aa - запрос (0x00) или ответ (0x01)
  • rr - код операции
  • vv - версия SOP (текущая - 0x07)
Элементы перечислений:
e_req_send_msg  Запрос на отсылку сообщения.
e_resp_send_msg  Ответ на попытку отсылки сообщения.
e_req_query_agent_state  Запрос на определение состояния агента.
e_resp_query_agent_state  Ответ на определение состояния агента.
e_resp_unknown  Элементом является объект unknown_resp_info_t.
e_req_filter  Запрос на установку фильтра.

Начиная с:
v.4.2.3
e_resp_filter  Ответ на установку фильтра.
e_req_ping  Запрос ping.

Начиная с:
v.4.2.4
e_resp_ping  Ответ на ping.

Начиная с:
v.4.2.4
e_req_handshake  Начало процедуры handshake.

Начиная с:
v.4.2.7
e_resp_handshake  Ответ на процедуру handshake.

Начиная с:
v.4.2.7

Тип данных в поле сообщения.

Элементы перечислений:
e_type_undefined  Тип не определен.
e_byte_stream  Байтовый поток или строка.

Каждый элемент потока может преобразовываться в char, signed char, unsigned char, short, unsigned short, int, unsigned int.

Весь поток может преобразовываться в значения типа std::string и so_4::rt::comm_buf_t.

e_int_stream  Поток знаковых целых чисел (oess_1::int_t).

Каждый элемент потока может преобразовываться в char, signed char, unsigned char, short, unsigned short, int, unsigned int, float, double.

e_uint_stream  Поток беззнаковых целых чисел (oess_1::uint_t).

Каждый элемент потока может преобразовываться в char, signed char, unsigned char, short, unsigned short, int, unsigned int, float, double.

e_real_stream  Поток вещественных двойной точности (oess_1::double_t).

Каждый элемент потока может преобразовываться в float, double.

e_oess_stdsn_stream  Сериализованное средствами oess_1::stdsn значение.
e_oess_io_custom_stream  Сериализованное вручную через oess_1::io значение.

Начиная с:
v.4.4.0-b2


Функции

filter_auto_ptr_t so_4::sop::create_all_enable_filter (  ) 

Создает фильтр, который разрешает обработку сообщений всех глобальных агентов.

Возвращает:
Указатель на динамически созданный объект, который должен быть удален посредством delete.

std_filter_t* so_4::sop::create_std_filter (  ) 

Создает объект, реализующий интерфейс std_filter_t.

Возвращает:
Указатель на динамически созданный объект, который должен быть удален посредством delete.
Примеры:
sample/filter/c1.cpp, sample/filter/c2.cpp и sample/high_traffic/client.cpp.

void so_4::sop::format ( const req_info_storage_t &  reqs,
so_4::rt::comm_buf_t to 
)

Сериализация элементов SOP.

Выходной буфер будет содержать последовательность, возможно пустую, сериализованных объектов req_info_ptr_t.

Аргументы:
reqs  Хранилище элементов для сериализации.
to  Поток, в который будет производится сериализация.

Используется в so_4::rt::comm::impl::format_handshake_resp(), so_4::rt::comm::impl::handle_package() и so_4::rt::comm::impl::make_and_send_package().

bool so_4::sop::parse ( so_4::rt::comm_buf_t what,
req_info_storage_t &  reqs,
std::string &  error_desc 
)

Десериализация элементов SOP.

Буфер должен содержать последовательность, возможно пустую, сериализованных объектов req_info_ptr_t.

Возвращает:
true, если разбор прошел успешно; false в противном случае.
Аргументы:
what  Буфер для разбора. Разбор начинается с текущей позиции в what и продолжается до конца буфера.
reqs  Хранилище для извлеченных элементов SOP.
error_desc  Приемник описания ошибки. Заполняется, если функция возвращает 0.

Используется в so_4::rt::comm::impl::handle_package().


Документация по SObjectizer v.4.4 'Тебуломста'. Последние изменения: Thu Sep 18 10:26:50 2008. Создано системой  doxygen1.5.6 Intervale SourceForge.net Logo