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

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

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

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

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

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

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

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


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

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

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

 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 и длину содержательной части пакета.
 package_header_t (const package_header_t &o)
 Конструктор копирования.
package_header_toperator= (const package_header_t &o)
 Оператор копирования.
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
 Записать заголовок пакета в указанный поток.

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

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

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

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

Аргументы:
package_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  Размер содержательной части пакета в байтах.


Методы

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

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

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

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

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

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

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

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

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

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

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

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


Документация по SObjectizer. Последние изменения: Thu Jan 12 10:52:52 2006. Создано системой  doxygen 1.4.6-NO
Hosted by uCoz