Класс so_4::sop::package_header_t

Полный список членов класса


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

Класс для обработки заголовка SOP-пакета.

Каждая порция данных в SOP обрамляется в виде пакета со специальным заголовком в начале. Данный заголовок содержит размер содержательной части пакета в байтах и специальное контрольное поле.

Размер содержательной части используется для управления чтением пакета из коммуникационного канала. Т.е. сначала считывается заголовок пакета, который имеет заранее определенный размер. Затем считывается столько байт, сколько указано в заголовке пакета. После чего пакет считается полностью прочитанным.

Контрольное поле используется для проверки того, что читается действительно SOP пакет подходящей версии.

v.4.2.7
Начиная с версии 4.2.7 можно задавать значение для контрольного поля (т.н. magic-number).

Открытые типы

enum  { e_image_size }
typedef unsigned int uint32_t
 32-битовое беззнаковое целое.

Открытые члены

 package_header_t (const magic_number_t &value)
 Конструктор, который позволяет установить только значение magic_number.
 package_header_t (uint32_t package_size)
 Конструктор, который позволяет установить только длину содержательной части пакета.
 package_header_t (const magic_number_t &value, uint32_t package_size)
 Конструктор, который позволяет установить значение magic_number и длину содержательной части пакета.
bool is_valid () const
 Проверка корректности заголовка пакета.
uint32_t size () const
 Длина содержательной части пакета в байтах.
void set_size (uint32_t package_size)
 Установить длину содержательной части пакета.
void read (oess_1::io::ibinstream_t &from)
 Прочитать заголовок пакета из указанного потока.
void write (oess_1::io::obinstream_t &to) const
 Записать заголовок пакета в указанный поток.
std::string debug_string_representation () const
 Создание отладочного представления.

Закрытые члены

void calc_check_field ()
 Пересчитать значение контрольного поля.

Закрытые данные

uint32_t m_magic_number
 Значение magic_number.
uint32_t m_size
 Размер содержательной части пакета в байтах.
uint32_t m_check_field
 Контрольное поле.

Классы

struct  magic_number_t
 Хранитель значения для специфического magic_number. Подробнее...

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

anonymous enum

Элементы перечислений:
e_image_size  Размер двоичного представления размера пакета в байтах.


Конструктор(ы)

so_4::sop::package_header_t::package_header_t ( const magic_number_t value  ) 

Конструктор, который позволяет установить только значение magic_number.

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

Перекрестные ссылки calc_check_field().

so_4::sop::package_header_t::package_header_t ( uint32_t  package_size  )  [explicit]

Конструктор, который позволяет установить только длину содержательной части пакета.

Аргументы:
package_size  Размер содержательной части пакета в байтах.

Перекрестные ссылки set_size().

so_4::sop::package_header_t::package_header_t ( const magic_number_t value,
uint32_t  package_size 
)

Конструктор, который позволяет установить значение magic_number и длину содержательной части пакета.

Начиная с:
v.4.2.7
Аргументы:
value  Значение magic_number.
package_size  Размер содержательной части пакета в байтах.

Перекрестные ссылки set_size().


Методы

bool so_4::sop::package_header_t::is_valid (  )  const

Проверка корректности заголовка пакета.

Возвращает:
true, если заголовок является корректным.

Перекрестные ссылки m_check_field, m_magic_number и m_size.

void so_4::sop::package_header_t::set_size ( uint32_t  package_size  ) 

Установить длину содержательной части пакета.

Аргументы:
package_size  Размер в байтах.

Перекрестные ссылки calc_check_field() и m_size.

Используется в package_header_t().

void so_4::sop::package_header_t::read ( oess_1::io::ibinstream_t &  from  ) 

Прочитать заголовок пакета из указанного потока.

Аргументы:
from  Чтение осуществляется с текущей позиции.

Перекрестные ссылки m_check_field и m_size.

Используется в so_4::sop::operator>>().

void so_4::sop::package_header_t::write ( oess_1::io::obinstream_t &  to  )  const

Записать заголовок пакета в указанный поток.

Аргументы:
to  Запись осуществляется в текущую позицию.

Перекрестные ссылки m_check_field и m_size.

Используется в so_4::rt::comm::sop_with_transformation_data_processor_t::append_outgoing_data(), so_4::rt::comm::simple_sop_data_processor_t::append_outgoing_data(), so_4::sop::operator<<() и so_4::rt::comm::zlib_transformator_t::out_transform().

std::string so_4::sop::package_header_t::debug_string_representation (  )  const

Создание отладочного представления.

Начиная с:
v.4.4.0-b4 Используется при печати проблемных заголовков.

Перекрестные ссылки m_check_field, m_magic_number и m_size.


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