Классы | |
struct | channels_times_impl_t |
class | channels_filters_t |
каналов и фильтров. Подробнее... | |
class | channels_times_t |
Ассоциативное хранилище идентификаторов коммуникационных каналов и времени получения последнего пакета из канала. Подробнее... | |
class | servers_filters_t |
каналов и фильтров. Подробнее... | |
class | client_connection_t |
class | socksrv_t |
class | sockcln_t |
Реализация поддержки клиентского сокета. Подробнее... | |
class | package_reader_t |
Определения типов | |
typedef std::set< so_4::rt::comm_channel_t > | channel_set_t |
Тип множества идентификаторов коммуникационных каналов. | |
typedef std::map< std::string, ref_client_connection_t, std::less< std::string > > | client_map_t |
Функции | |
void | handle_package (const comm_channel_t &channel, comm_buf_t &package, const so_4::sop::filter_t *server_filter, const so_4::sop::filter_t &filter, channels_filters_t &filters_map) |
Обрабатываем пакет и отсылает ответ указанному клиенту через указанный агент-коммуникатор. | |
void | make_and_send_package (const so_4::sop::req_info_storage_t &reqs, const channel_set_t &channels) |
Формирование и отправка пакета клиентам. | |
void | initiate_handshake (const comm_channel_t &channel) |
Инициировать операцию handshake для канала. | |
static void | make_error_response (const std::string &error_msg, req_info_storage_t &to) |
static ret_code_t | fill_msg_field (const send_msg_info_t::field_t &field, so_4::rt::impl::msg_fld_handler_t &fld_handler) |
static ret_code_t | fill_msg (const send_msg_info_t &req, void *msg_data, so_4::rt::impl::msg_wrapper_t *msg_wrapper) |
static ret_code_t | create_and_send_msg (const send_msg_info_t &req, const comm_channel_t &channel, const so_4::sop::filter_t *server_filter, const so_4::sop::filter_t &filter) |
static void | process (const send_msg_info_t *req, req_info_storage_t &responses, const comm_channel_t &channel, const so_4::sop::filter_t *server_filter, const so_4::sop::filter_t &filter) |
static void | process (const query_agent_state_info_t *req, req_info_storage_t &responses) |
static void | process (const comm_channel_t &channel, const so_4::sop::filter_info_t *req, req_info_storage_t &responses) |
static void | process (const comm_channel_t &channel, const so_4::sop::ping_info_t *req, req_info_storage_t &responses) |
Обработка ping-запроса. | |
static void | process (const comm_channel_t &channel, const so_4::sop::handshake_info_t *req) |
Обработка инициирования handshake. | |
static void | process (const comm_channel_t &channel, const so_4::sop::handshake_resp_info_t *req, channels_filters_t &filters, req_info_storage_t &responses) |
Обработка ответа на handshake. | |
static void | process (const comm_channel_t &channel, const so_4::sop::unknown_resp_info_t *req, channels_filters_t &filters, req_info_storage_t &responses) |
Обработка ответа на неизвестную серверу операцию. | |
static void | process_request (const req_info_t *request, req_info_storage_t &responses, const comm_channel_t &channel, const so_4::sop::filter_t *server_filter, const so_4::sop::filter_t &filter, channels_filters_t &filters_map) |
static void | send_to_client (const comm_channel_t &channel, const comm_buf_t &package) |
Переменные | |
const int | c_ok |
const int | c_invalid_socket_addr |
const int | c_cannot_create_server_sock |
const int | c_cannot_create_client_sock |
const int | c_receive_failed |
const int | c_send_failed |
const int | c_cannot_connect_to_srv |
|
Обрабатываем пакет и отсылает ответ указанному клиенту через указанный агент-коммуникатор.
|
|
Инициировать операцию handshake для канала.
|
|
Формирование и отправка пакета клиентам.
|
|
Обработка ответа на неизвестную серверу операцию.
Если для канала еще установлен отложенный фильтр, то:
|
|
Обработка ответа на handshake.
Для канала устанавливается отложенный фильтр в качестве боевого. Рассылается сообщение so_4::rt::comm::msg_client_connected. |
|
Обработка инициирования handshake.
|
|
Обработка ping-запроса. В ответ отсылается ping-ответ. |
|
|