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

Базовый класс агента выполняющего роль сервера. Подробнее...

Граф наследования:so_5_transport::a_server_base_t:
so_5_transport::a_channel_base_t so_5::rt::agent_t so_5::rt::atomic_refcounted_t mbapi_4::comm::a_mbapi_incoming_channel_t so_sysconf_4::ichannel::a_failure_handler_t

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

 a_server_base_t (so_5::rt::so_environment_t &env, const so_5::rt::mbox_ref_t &notification_mbox)
 
virtual void so_define_agent ()
 Определяет подписку агента на события канала.
 
void evt_create_server_socket_result (const so_5::rt::event_data_t< msg_create_server_socket_result > &msg)
 Обработка статуса создания серверного сокета.
 
- Открытые члены inherited from so_5_transport::a_channel_base_t
 a_channel_base_t (so_5::rt::so_environment_t &env, const so_5::rt::mbox_ref_t &notification_mbox)
 
void evt_channel_created (const so_5::rt::event_data_t< msg_channel_created > &msg)
 Обработка установки нового соединения.
 
void evt_channel_failed (const so_5::rt::event_data_t< msg_channel_failed > &msg)
 Обработка ошибки установки нового соединения.
 
void evt_channel_lost (const so_5::rt::event_data_t< msg_channel_lost > &msg)
 Обработка потери соединения.
 
void evt_incoming_package (const so_5::rt::event_data_t< so_5_transport::msg_incoming_package > &msg)
 Обработка уведомления о входящем пакете.
 
- Открытые члены inherited from so_5::rt::agent_t
 agent_t (so_environment_t &env)
 Конструктор агента. Подробнее...
 
const agent_tself_ptr () const
 Получить указатель на себя. Подробнее...
 
virtual void so_evt_start ()
 Начальное событие агента. Подробнее...
 
virtual void so_evt_finish ()
 Завершающее событие агента. Подробнее...
 
const state_tso_current_state () const
 Получить ссылку на текущее состояние.
 
const std::string & so_coop_name () const
 Имя кооперации, к которой принадлежит агент. Подробнее...
 
void so_add_nondestroyable_listener (agent_state_listener_t &state_listener)
 Добавить агенту слушателя, время жизни которого агент не контролирует.
 
void so_add_destroyable_listener (agent_state_listener_unique_ptr_t state_listener)
 Добавить агенту слушателся, владение которым передается агенту.
 
so_environment_tso_environment ()
 Получить ссылку на среду SO к которой принадлежит агент. Подробнее...
 

Защищенные члены

virtual void so_handle_create_server_socket_result (const msg_create_server_socket_result &msg)
 Hook-метод обработки статуса создания сокета. Подробнее...
 
- Защищенные члены inherited from so_5_transport::a_channel_base_t
void so_add_state_for_channel_events (const so_5::rt::state_t &state)
 Добавить состояние для подписки на события канала. Подробнее...
 
so_5::rt::mbox_ref_tquery_notification_mbox ()
 Получить mbox на который приходят уведомлени о событиях канала.
 
virtual void so_handle_client_connected (const msg_channel_created &msg)=0
 Hook-методы обработки событий канала. Подробнее...
 
virtual void so_handle_client_failed (const msg_channel_failed &msg)=0
 Обработка при неудачном подключении нового клиента.
 
virtual void so_handle_client_disconnected (const msg_channel_lost &msg)=0
 Обработка отключения клиента.
 
virtual void so_handle_incoming_package (const so_5_transport::msg_incoming_package &msg)=0
 Обработки очередного пакета клиента.
 
- Защищенные члены inherited from so_5::rt::agent_t
bool so_was_defined () const
 Был ли агент определен? Подробнее...
 
const state_tso_default_state () const
 Работа с состояниями. Подробнее...
 
ret_code_t so_change_state (const state_t &new_state, throwing_strategy_t throwing_strategy=THROW_ON_ERROR)
 Сменить состояние. Подробнее...
 
subscription_bind_t so_subscribe (const mbox_ref_t &mbox_ref)
 Подписка и отписка от сообщения. Подробнее...
 
subscription_unbind_t so_unsubscribe (const mbox_ref_t &mbox_ref)
 Создать объект для изьятия подписки. Подробнее...
 

Закрытые типы

typedef a_channel_base_t base_type_t
 

Additional Inherited Members

- Открытые статические члены inherited from so_5::rt::agent_t
static void call_push_event (agent_t &agent, const event_caller_block_ref_t &event_handler_caller, const message_ref_t &message)
 Поставить в очередь событие для выполнения агентом. Подробнее...
 
static void call_next_event (agent_t &agent)
 Инициировать выполнение очередного события. Подробнее...
 
static void call_bind_to_disp (agent_t &agent, dispatcher_t &disp)
 Привязать агента к диспетчеру. Подробнее...
 

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

Базовый класс агента выполняющего роль сервера.

Определяет методы получения уведомлений о событиях канала, и делегирует обработку в hook-методы, которые могут быть переопределены в наследниках.

Примеры:
so_5_transport/raw_channe/tcp_srv.

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

so_5_transport::a_server_base_t::a_server_base_t ( so_5::rt::so_environment_t env,
const so_5::rt::mbox_ref_t notification_mbox 
)
Аргументы
envСреда к которой привязывается агент.
notification_mboxMbox на который приходят уведомления о событиях с каналом.

Методы

void so_5_transport::a_server_base_t::so_handle_create_server_socket_result ( const msg_create_server_socket_result msg)
protectedvirtual

Hook-метод обработки статуса создания сокета.

Реализация по умолчанию ничего не далает, если установка серверного сокета прошла успешно, и дерегистрирует кооперацию, если установка серверного сокета не удалась.

Переопределяется в so_sysconf_4::ichannel::a_failure_handler_t.

Примеры:
so_5_transport/raw_channe/tcp_srv.

Перекрестные ссылки so_5::rt::so_environment_t::deregister_coop(), so_5_transport::msg_create_server_socket_result::m_succeed, so_5::rt::agent_t::so_coop_name() и so_5::rt::agent_t::so_environment().

Используется в evt_create_server_socket_result().


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