Граф наследования:so_4::rt::comm::channels_impl::cln_channel_t:
Объект не защищен mutex-ом, т.к. предполагается, что вся работа будет осуществляться на одной нити.
Открытые типы | |
enum | use_disconnect_handler_flag_t { use_disconnect_handler, no_use_disconnect_handler } |
Флаг управления обращением к disconnect_handler. Подробнее... | |
Открытые члены | |
cln_channel_t (so_4::rt::agent_t &comm_agent, client_factory_t *client_factory, so_4::rt::comm::a_cln_channel_base_t::disconnect_handler_t *disconnect_handler) | |
so_4::ret_code_t | create () |
Создание клиентского канала. | |
void | close (int is_disconnect_handler_enabled=use_disconnect_handler) |
Закрыть текущее подключение. | |
void | close (const so_4::rt::comm_channel_t &channel, int is_disconnect_handler_enabled=use_disconnect_handler) |
Закрыть указанный канал. | |
bool | do_io () |
Осуществить операции ввода/вывода. | |
bool | send_to_client (const comm_channel_t &client, const comm_buf_t &data) |
Отсылка данных в канал. | |
so_4::rt::comm::a_cln_channel_base_t::disconnect_handler_t * | set_disconnect_handler (so_4::rt::comm::a_cln_channel_base_t::disconnect_handler_t *handler) |
Установить обработчик разрывов связи. | |
so_4::rt::comm_channel_t | query_channel () const |
Возвращает идентификатор текущего канала. | |
void | set_in_threshold (const threshold_t &value) |
новых каналов. | |
const threshold_t & | in_threshold () const |
Получить текущее значения порога входного потока. | |
void | set_out_threshold (const threshold_t &value) |
новых каналов. | |
const threshold_t & | out_threshold () const |
Получить текущее значения порога выходного потока. | |
void | unblock_channel (const so_4::rt::comm_channel_t &channel) |
Разблокировать указанный канал. | |
Защищенные члены | |
void | make_new_client_name (std::string &client_name) |
Создать новое имя клиента. | |
bool | check_for_data () |
Проверить наличие данных в сокете. | |
bool | send_awaiting () |
для всех подключенных клиентов. | |
virtual void | send_msg_client_disconnected ()=0 |
Отослать сообщение о том, что клиент отключился. | |
virtual client_connection_t * | new_client_connection (const so_4::rt::comm_channel_t &comm_channel, io_channel_t *phys_channel, unsigned int ibuf_max_size, unsigned int awaiting_obuf_max_size, const threshold_t &in_threshold, const threshold_t &out_threshold)=0 |
Обработать подключение нового клиента. | |
Защищенные данные | |
so_4::rt::agent_t & | m_comm_agent |
Агент-клиентский сокет. | |
auto_ptr_3::obj_ptr_t< client_factory_t > | m_phys_factory |
Физический канал. | |
ref_client_connection_t | m_ref_connection |
Текущее соединение. | |
so_4::rt::comm_channel_t | m_cur_client |
Имя текущего клиента. | |
auto_ptr_3::obj_ptr_t< so_4::rt::comm::a_cln_channel_base_t::disconnect_handler_t > | m_disconnect_handler_ptr |
Обработчик разрывов связи. | |
threshold_t | m_in_threshold |
Порог входного потока для новых каналов. | |
threshold_t | m_out_threshold |
Порог выходного потока для новых каналов. |
|
Флаг управления обращением к disconnect_handler.
|
|
|
|
Проверить наличие данных в сокете. Если происходит сбой чтения данных, то сокет закрывается.
|
|
Закрыть указанный канал. Закрывает текущий канал, если его идентификатор совпадает с указанным идентификатором. Если is_diconnect_handler_enabled == no_use_disconnect_handler, то агент не переводится в состояние st_not_connected, у disconnect_handler не вызывается метод on_connection_lost. |
|
Закрыть текущее подключение. Если is_diconnect_handler_enabled == no_use_disconnect_handler, то агент не переводится в состояние st_not_connected, у disconnect_handler не вызывается метод on_connection_lost. |
|
Осуществить операции ввода/вывода. Если есть входящие данные, то они считываются. Если есть исходящие данные, то они отсылаются.
|
|
Получить текущее значения порога входного потока.
|
|
Обработать подключение нового клиента.
Замещается в so_4::rt::comm::channels_impl::raw_cln_channel_t и so_4::rt::comm::channels_impl::sop_cln_channel_t. |
|
Получить текущее значения порога выходного потока.
|
|
Возвращает идентификатор текущего канала.
|
|
для всех подключенных клиентов.
|
|
Отсылка данных в канал. Добавляет указанный блок в буфер ожидающих отправки данных указанного клиента.
|
|
Установить обработчик разрывов связи. Установливаемый обработчик должен быть указателем на динамически-созданный объект, который будет уничтожен в деструкторе.
|
|
новых каналов.
|
|
новых каналов.
|
|
Разблокировать указанный канал.
|
|
Имя текущего клиента. Содержит неопределенное значение, если соединение не установлено. |
|
Обработчик разрывов связи. Нулевое значение означает, что разрывы связи подобным образом не котролируются. |
|
Порог входного потока для новых каналов.
|
|
Порог выходного потока для новых каналов.
|