Файл so_4/h/ret_code.hpp


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

Тип возвращаемого значения.


Пространства имен

namespace  so_4

Классы

struct  so_4::ret_code_t
 Код возврата основных API-функций и методов. Подробнее...

Макросы

#define _SO_4__RET_CODE_HPP_
#define so_4_make_rc(code, desc)
 Сформировать объект ret_code_t.
#define SO_4_ERROR_RETURN(rc, msg)
 Макрос для возврата кода ошибки с логированием описания ошибки через средства ACE Logging.
#define SO_4_ABORT_ON_ACE_ERROR(action)
 Макрос для контроля кода возврата ACE-функции и выполнения abort в случае необходимости.

Функции

std::ostream & so_4::operator<< (std::ostream &o, const ret_code_t &c)

Переменные

const int so_4::rc_invalid_name
 Не допустимое или не известное имя.
const int so_4::rc_not_found
 Отрицательный результат поиска.
const int so_4::rc_invalid_object
 Не допустимый или не созданый объект.
const int so_4::rc_sys_not_running
 Run-time не запущен.
const int so_4::rc_sys_running
 Run-time запущен.
const int so_4::rc_no_states
 Агент не имеет состояний.
const int so_4::rc_type_mismatch
 Не совпадение типов объектов (агентов).
const int so_4::rc_global_agent
 Агент является глобальным.
const int so_4::rc_invalid_context
 Попытка сменить состояние агента не на нити диспетчера или из-вне агента.
const int so_4::rc_invalid_agent_class
 Класс агента не является полностью опеределенным.
const int so_4::rc_denied_by_filter
 Сообщение запрещено к обработке фильтром коммуникационного канала.
const int so_4::rc_not_implemented
 Указанная операция не реализована.
const int so_4::rc_not_unique_name
 Указанное имя не является уникальным.
const int so_4::rc_sop_syntax_error
 Синтаксическая ошибка в SOP.
const int so_4::rc_comm_invalid_addr
 Не допустимый коммуникационный адрес.
const int so_4::rc_unexpected_error
 Не ожиданная ошибка.
Коды ошибок, связанные с транспортным слоем.
const int so_4::rc_output_buffer_full
 Переполнен буфер исходящих данных.
const int so_4::rc_channel_write_failure
 Ошибка записи коммуникационного канала.
const int so_4::rc_data_processor_not_set
 Не назначен объект для преобразования входящего/исходящего трафика.
const int so_4::rc_invalid_sop_package_header
 Неверный заголовок SOP-пакета.
const int so_4::rc_incorrect_data
 Некорректные данные в канале.
const int so_4::rc_unknown_channel
 Неизвестный коммуникационный канал.
Коды ошибок, связанные с сокетами.
const int so_4::rc_connect_failed
 Ошибка установления соединения с удаленной стороной.
const int so_4::rc_acceptor_creation_failed
 Ошибка создания серверного сокета.


Макросы

#define SO_4_ABORT_ON_ACE_ERROR ( action   ) 

Макрос для контроля кода возврата ACE-функции и выполнения abort в случае необходимости.

Начиная с:
v.4.4.0-b6 Предназначен для прерывания программы в случае, когда неудачно завершается операция, которая не должна так делать. И когда восстановление после подобной ситуации невозможно (например, не удалось сохранить имя зарегистрированного агента).
Пример использования:
 SO_4_ABORT_ON_ACE_ERROR(
  m_agents->bind( agent_name, agent_wrapper ) );

Используется в so_4::ace::impl::std_reactor_registry_t::add(), so_4::rt::impl::std_sys_dict_t::check_dereg_coop(), so_4::disp::active_obj::impl::dispatcher_t::introduce_active_object(), so_4::rt::impl::std_sys_dict_t::make_global(), so_4::ace::impl::reactor_registry_data_t::reactor_registry_data_t(), so_4::ace::rehash_hash_map(), so_4::ace::impl::std_reactor_registry_t::remove(), so_4::disp::active_obj::impl::dispatcher_t::remove_active_object(), so_4::api::setup_signal_thread(), so_4::api::shutdown_signal_thread() и so_4::disp::reuse::work_thread::work_thread_t::start().

#define SO_4_ERROR_RETURN ( rc,
msg   ) 

Макрос для возврата кода ошибки с логированием описания ошибки через средства ACE Logging.

Начиная с:
v.4.4.0
Пример использования:
  SO_4_ERROR_RETURN(
      so_4::rc_sys_not_running,
      "unable to deregister cooperation on not running system" );

Используется в so_4::ace::impl::std_reactor_registry_t::add(), so_4::rt::impl::agent_coop_storage_t::add_agent(), so_4::rt::impl::std_sys_dict_t::add_class(), so_4::rt::impl::std_sys_dict_t::check_parent_coop(), so_4::transport_layer::socket::impl::socket_connector_controller_t::connect(), so_4::transport_layer::impl::generic_svc_handler_t< STREAM, ADDR_TYPE >::controller_append_outgoing_data(), so_4::transport_layer::impl::generic_svc_handler_t< STREAM, ADDR_TYPE >::controller_force_input_detection(), so_4::transport_layer::socket::impl::socket_acceptor_controller_t::create(), so_4::rt::impl::msg_handler_impl_t::create_fld_handler(), so_4::rt::impl::std_sys_dict_t::create_global_agent_wrapper(), so_4::rt::impl::std_sys_dict_t::find_agent_class(), so_4::rt::impl::std_sys_dict_t::find_coop(), so_4::rt::impl::init_msg_data_object(), so_4::rt::impl::init_msg_data_object_on_blocked_kernel(), so_4::rt::impl::std_sys_dict_t::make_global(), so_4::rt::comm::zlib_transformator_t::out_transform(), so_4::rt::comm::impl::parse_sop_incoming_buffer(), so_4::api::query_agent_state(), so_4::ace::impl::std_reactor_registry_t::remove(), so_4::rt::impl::std_sys_dict_t::remove_class(), so_4::timer_thread::ace_timer_queue_adapter::impl::timer_thread_t::start(), so_4::ace::reactor_task_t< REACTOR_TYPE >::start(), so_4::transport_layer::impl::generic_svc_handler_t< STREAM, ADDR_TYPE >::store_outgoing_data(), so_4::api::subscribe_event(), so_4::transport_layer::impl::generic_svc_handler_t< STREAM, ADDR_TYPE >::transform_awaiting_data(), so_4::rt::comm::zlib_transformator::unpack() и so_4::transport_layer::impl::generic_svc_handler_t< STREAM, ADDR_TYPE >::write_channel().

#define so_4_make_rc ( code,
desc   ) 

Сформировать объект ret_code_t.

Уст.:
Вместо этого макроса следует использовать SO_4_ERROR_RETURN().

Используется в so_4::rt::comm::zlib_transformator_t::in_transform().


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