Структура so_4::transport_layer::impl::channel_state_t

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


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

Описание текущего состояния транспортного канала.

Начиная с:
v.4.4.0-b4

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

 channel_state_t (size_t starting_awaiting_buffer_size, size_t starting_output_buffer_size, size_t input_buffer_size)
 Инициализирующий конструктор.

Открытые атрибуты

so_4::rt::comm_buf_t m_awaiting_buffer
 Буфер ожидающих исходящих данных.
so_4::rt::comm_buf_t m_output_buffer
 Буфер исходящих данных.
ACE_Time_Value m_last_write_timestamp
 Время последней успешной операции записи.
so_4::rt::comm_buf_t m_input_buffer
 Буфер входящих данных.
bool m_is_input_blocked
 Блокирован ли канал?
ACE_Time_Value m_input_block_timestamp
 Время последней блокировки канала.
threshold_t m_input_bulk
 Объем входящего трафика после последней блокировки.

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

so_4::transport_layer::impl::channel_state_t::channel_state_t ( size_t  starting_awaiting_buffer_size,
size_t  starting_output_buffer_size,
size_t  input_buffer_size 
)

Инициализирующий конструктор.

Аргументы:
starting_awaiting_buffer_size  Начальный размер буфера ожидающих исходящих данных.
starting_output_buffer_size  Начальный размер буфера исходящих данных.
input_buffer_size  Размер буфера входящих данных.


Данные класса

Буфер ожидающих исходящих данных.

Начиная с:
v.4.4.0-b5
При добавлении возможности архивации SOP-трафика оказалось, что архивировать отдельно мелкие пакеты, добавляемые в m_output_buffer не выгодно. Лучше накапливать данные между операциями ввода-вывода в промежуточном буфере, а затем, непосредственно перед очередной операцией write, сжимать их.

В результате выбрана схема, при которой в m_awaiting_buffer помещаются ожидающие своей очереди исходящие данные. Которые затем трансформируются и сохраняются в m_output_buffer.

Заметки:
Для raw-каналов этот буфер может не использоваться и данные будут записываться сразу в m_output_buffer.

Буфер исходящих данных.

Используется для накопления данных перед отсылкой и для выполнения операций ввода-вывода.

Буфер входящих данных.

Используется для проведения операций ввода-вывода. После завершения операции чтения все его содержимое отсылается в сообщении msg_raw_package.

Блокирован ли канал?

Содержит значение true, если канал блокирован.

Время последней блокировки канала.

Содержит актуальное значение только, если m_is_input_blocked == true.

Объем входящего трафика после последней блокировки.

Обнуляется после разблокированния канала.


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