Пространство имен so_4::ace


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

Пространство имен средств взаимодействия с библиотекой ACE.

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


Классы

class  reactor_instance_t
 Интерфейс, за которым спрятан реактор и необходимые для него ресурсы. Подробнее...
class  reactor_registry_t
 Интерфейс реестра реакторов. Подробнее...
class  reactor_task_t
 Шаблон для ACE_Task, который способен работать с разными типами реакторов и разным количеством нитей. Подробнее...
class  reactor_instance_template_t
 Реализация интерфейса reactor_instance на основе шаблона. Подробнее...

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

namespace  impl
 Детали реализации средств взаимодействия с библиотекой ACE.

Определения типов

typedef std::auto_ptr
< reactor_instance_t
reactor_instance_auto_ptr_t
 Псевдоним auto_ptr для reactor_instance.

Функции

size_t appropriate_hash_map_size (size_t required_size)
 Поиск подходящего простого числа, которое можно взять в качестве следующего размера Hash_Map-а.
template<class HASH_MAP>
std::auto_ptr< HASH_MAP > rehash_hash_map (std::auto_ptr< HASH_MAP > source, float load_factor=0.75)
 Перестройка Hash_Map-а после слишком большого заполнения последнего.
reactor_registry_treactor_registry ()
 Доступ к реестру реакторов.
std::string default_reactor_name ()
 Имя реактора, который используется по умолчанию.
ACE_Reactor * default_reactor ()
 Доступ к реактору по умолчанию.
Функции создания конкретных типов реакторов.
reactor_instance_auto_ptr_t make_select_reactor ()
 Создание реактора, основанного на ACE_Select_Reactor.
reactor_instance_auto_ptr_t make_tp_reactor (size_t thread_count)
 Создание реактора, основанного на ACE_TP_Reactor.


Типы

Псевдоним auto_ptr для reactor_instance.

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


Функции

size_t so_4::ace::appropriate_hash_map_size ( size_t  required_size  )  [inline]

Поиск подходящего простого числа, которое можно взять в качестве следующего размера Hash_Map-а.

Начиная с:
v.4.4.0-b6
Заметки:
Последовательность простых чисел взята из Boost.Unordered (Boost 1.36.0).
Возвращает:
Простое число, которое больше или равно указаному в required_size значению.
Аргументы:
required_size  Количество элементов, которые должны находиться в Hash_Map-е.

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

ACE_Reactor * so_4::ace::default_reactor (  ) 

Доступ к реактору по умолчанию.

Начиная с:
v.4.4.0-b6
Внимание:
Вызывает abort(), если реактор по умолчанию не был найден среди реакторов в реестре.

Перекрестные ссылки default_reactor_name(), so_4::ace::reactor_registry_t::find() и reactor_registry().

Используется в so_4::transport_layer::socket::create_acceptor_controller(), so_4::transport_layer::socket::create_connector_controller() и so_4::ace::impl::reactor_registry_data_t::reactor_registry_data_t().

std::string so_4::ace::default_reactor_name (  ) 

Имя реактора, который используется по умолчанию.

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

Используется в default_reactor() и so_4::ace::impl::reactor_registry_data_t::reactor_registry_data_t().

reactor_instance_auto_ptr_t so_4::ace::make_select_reactor (  ) 

Создание реактора, основанного на ACE_Select_Reactor.

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

Используется в so_4::ace::impl::reactor_registry_data_t::reactor_registry_data_t().

reactor_instance_auto_ptr_t so_4::ace::make_tp_reactor ( size_t  thread_count  ) 

Создание реактора, основанного на ACE_TP_Reactor.

Начиная с:
v.4.4.0-b6
Аргументы:
thread_count  Количество нитей, на которых должна вестись работа.
Примеры:
sample/high_traffic/server.cpp.

reactor_registry_t & so_4::ace::reactor_registry (  ) 

Доступ к реестру реакторов.

Начиная с:
v.4.4.0-b6
Примеры:
sample/high_traffic/server.cpp.

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

template<class HASH_MAP>
std::auto_ptr< HASH_MAP > so_4::ace::rehash_hash_map ( std::auto_ptr< HASH_MAP >  source,
float  load_factor = 0.75 
) [inline]

Перестройка Hash_Map-а после слишком большого заполнения последнего.

Начиная с:
v.4.4.0-b6 Необходимость в данной функции возникла из-за того, что ACE_Hash_Map_Manager_Ex получает в конструкторе фиксированный размер. Не всегда этот размер известен, поэтому приходится использовать некий начальный размер, который затем должен увеличиваться. Но в ACE_Hash_Map_Manager_Ex нет возможности его увеличивать. Единственный способ -- это создать новый ACE_Hash_Map_Manager_Ex большего размера и скопировать туда содержимое старого Hash_Map-а.
Процедура rehash выполняется только, если заполненость старого Hash_Map-а превышает указанный порог.
Аргументы:
source  Исходный Hash_Map.
load_factor  Объем загрузки Hash_Map-а, который считается предельным.

Перекрестные ссылки appropriate_hash_map_size() и SO_4_ABORT_ON_ACE_ERROR.

Используется в so_4::rt::impl::std_sys_dict_t::make_global() и so_4::disp::active_obj::impl::context_t::try_rehash_threds_hash_map().


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