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

Коммуникационный блок-буфер. Подробнее...

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

 raw_block_t (size_t capacity=32 *1024)
 Конструктор с возможностью задать емкость. Подробнее...
 
size_t capacity () const
 Емкость блока. Подробнее...
 
const oess_2::char_t * ptr () const
 Указатель на начала блока памяти.
 
oess_2::char_t * ptr ()
 Указатель на начала блока памяти, содержащего буфер.
 
Сбросить позиции записи/чтения данных данного блока.
void reset_write_pos ()
 Подготовить блок к записи.
 
void reset_read_pos ()
 Подготовить блок к чтению.
 
Интерфейс для записи данных.
size_t write_pos () const
 Текущая позиция для записи.
 
size_t write_size_available () const
 Количество байт доступных для записи.
 
void shift_write_pos (size_t n)
 Сдвинуть текущую позицию для записи. Подробнее...
 
void total_shift_write_pos ()
 Установить текущую позицию для записи в конец.
 
oess_2::char_t * current_write_ptr ()
 Указатель на текущую позицию для записи.
 
Интерфейс для чтения данных.
size_t read_pos () const
 Текущая позиция для чтения.
 
size_t read_size_available () const
 Текущий размер доступных для чтения данных.
 
void shift_read_pos (size_t n)
 Сдвинуть текущую позицию для чтения. Подробнее...
 
void total_shift_read_pos ()
 Установить текущую позицию для чтения в конец.
 
const oess_2::char_t * current_read_ptr () const
 Указатель на текущую позицию для чтения.
 

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

 raw_block_t (const raw_block_t &o)
 
void operator= (const raw_block_t &o)
 

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

std::vector< oess_2::char_t > m_block
 Хранилище буфера, заботится об удалении массива байт.
 
oess_2::char_t * m_buff_ptr
 
size_t m_write_pos
 Позиция для записи данных.
 
size_t m_read_pos
 Позиция для чтения данных.
 

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

Коммуникационный блок-буфер.

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

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

so_5_transport::raw_block_t::raw_block_t ( size_t  capacity = 32 *1024)

Конструктор с возможностью задать емкость.

Поведение при начальной емкости 0 байт не определено.

Аргументы
capacityЕмкость буфера в байтах.

Перекрестные ссылки m_block.

Методы

size_t so_5_transport::raw_block_t::capacity ( ) const
inline

Емкость блока.

Емкость = рамер записанных данных + рамер доступных для записи данных.

void so_5_transport::raw_block_t::shift_read_pos ( size_t  n)
inline

Сдвинуть текущую позицию для чтения.

Операция выполняется только если n <= read_size_available().

Перекрестные ссылки so_log_2::n().

void so_5_transport::raw_block_t::shift_write_pos ( size_t  n)
inline

Сдвинуть текущую позицию для записи.

Операция выполняется только если n <= write_size_available().

Перекрестные ссылки so_log_2::n().

Используется в so_5_transport::channel_output_stream_t::out_shift() и so_5_transport::socket::impl::svc_handler_t::read_channel().


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