SObjectizer  5.1
Классы | Открытые типы | Открытые члены | Закрытые члены | Закрытые данные | Полный список членов класса
Класс mbapi_4::proto::package_header_t

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

Классы

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

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

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

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

 package_header_t (const magic_number_t &value)
 Конструктор, который позволяет установить только значение magic_number.
 
 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_2::io::ibinstream_t &from)
 Прочитать заголовок пакета из указанного потока. Подробнее...
 
void write (oess_2::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
 Контрольное поле.
 

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

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

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

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

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

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

anonymous enum
Элементы перечислений
IMAGE_SIZE 

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

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

mbapi_4::proto::package_header_t::package_header_t ( const magic_number_t value,
uint32_t  package_size 
)

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

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

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

Методы

std::string mbapi_4::proto::package_header_t::debug_string_representation ( ) const

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

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

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

bool mbapi_4::proto::package_header_t::is_valid ( ) const

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

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

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

void mbapi_4::proto::package_header_t::read ( oess_2::io::ibinstream_t &  from)

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

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

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

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

void mbapi_4::proto::package_header_t::set_size ( uint32_t  package_size)

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

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

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

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

void mbapi_4::proto::package_header_t::write ( oess_2::io::obinstream_t &  to) const

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

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

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

Используется в mbapi_4::proto::operator<<().


Документация по SObjectizer v.5.1 'Джимара'. Последние изменения: Ср 15 Май 2013 12:56:22. Создано системой  doxygen1.8.3.1 Intervale SourceForge.net Logo