Класс so_4::rt::comm::zlib_transformator_t

Граф наследования:so_4::rt::comm::zlib_transformator_t:

so_4::rt::comm::traffic_transformator_t

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


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

Реализация трансформатора SOP трафика с использованием zlib.

Начиная с:
v.4.2.7 Реализует компрессию данных с использованием библиотеки zlib (http://www.zlib.org).
Формат zlib-пакета:

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

 zlib_transformator_t ()
 Конструктор по-умолчанию.
Реализация унаследованных методов.
virtual so_4::ret_code_t in_transform (const void *what, unsigned int what_size, oess_1::io::obinstream_t &to, size_t &transformed_size)
 Выполнить обратную трансформацию входяшего трафика.
virtual so_4::ret_code_t out_transform (const void *what, size_t what_size, oess_1::io::obinstream_t &to)
 Выполнить трансформацию очередной порции.

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

so_4::rt::comm_buf_t m_in_data
 Ожидающие декомпрессии данные.
std::vector< Bytef > m_zlib_data
 Буфер для компрессии/декомпрессии с использованием zlib.

Методы

so_4::ret_code_t so_4::rt::comm::zlib_transformator_t::in_transform ( const void *  what,
unsigned int  what_size,
oess_1::io::obinstream_t &  to,
size_t &  transformed_size 
) [virtual]

Выполнить обратную трансформацию входяшего трафика.

Может получиться так, что во входящем трафике недостаточно информации для успешной детрансформации. В этом случае входящие данные должны быть сохранены внутри трансформатора, а в transformed_size должен быть возвращен 0.

Возвращает:
so_4::rt::comm::success в случае отсутствия ошибок.

Замещает so_4::rt::comm::traffic_transformator_t.

Перекрестные ссылки so_4::rt::comm::zlib_transformator::crc32_field_size, so_4::sop::package_header_t::e_image_size, so_4::rt::comm_buf_t::erase(), so_4::rt::comm_buf_t::insert(), m_in_data, m_zlib_data, so_4::rt::comm::zlib_transformator::magic_number, so_4::rc_invalid_sop_package_header, so_4::rt::comm_buf_t::set_pos(), so_4::sop::package_header_t::size(), so_4::rt::comm_buf_t::size(), so_4_make_rc, so_4::rt::comm::zlib_transformator::source_length_field_size и so_4::rt::comm::zlib_transformator::unpack().

so_4::ret_code_t so_4::rt::comm::zlib_transformator_t::out_transform ( const void *  what,
size_t  what_size,
oess_1::io::obinstream_t &  to 
) [virtual]

Выполнить трансформацию очередной порции.

Преобразовованые данные должны дописываться в конец буфера to.

Возвращает:
so_4::rt::comm::success в случае отсутствия ошибок.

Замещает so_4::rt::comm::traffic_transformator_t.

Перекрестные ссылки so_4::rt::comm::zlib_transformator::crc32_field_size, m_zlib_data, so_4::rt::comm::zlib_transformator::magic_number, so_4::rc_unexpected_error, SO_4_ERROR_RETURN, so_4::rt::comm::zlib_transformator::source_length_field_size и so_4::sop::package_header_t::write().


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