Реализация подсистемы управления
Проект, реализующий подсистему управления - control.
Файл точки входа Веб-сервера - http_callee.cpp.
Обработка любого запроса начинается с получения Singleton-экземпляра, с интерфейсом IControlSystemServerSide, реализации подсистемы с помощью фабрики IControlFactory и ее статического метода IControlFactory::GetControlFactory. Интерфейс IControlSystemServerSide предоставляет доступ к интерфейсам различных подсистем системы моделирования, которые аггрегируются реализующим классом CControlSystem.
В зависимости от запроса, поступившего от веб-сервера, функция распаковывает параметры запроса и делегирует вызов соответствующей подсистеме.
Конфигурация
См. base_config.h.
См. control\config.h
Интерфейсы
Интерфейс | Файл | Описание |
---|---|---|
INode | domain_interaction.h | Программный интерфейс, реализуемый узлом подсистемы предметной области и предоставляющий подсистеме управления методы для управления вычислительной нагрузкой, которая подается на узел. Физически может быть ассоциирован с вычислительным кластером (для реализации с локальным балансировщиком) либо с потоком на логическом ядре центрального процессора. |
ILoadBalancer | domain_interaction.h | Программный интерфейс, предоставляемый подсистемой управления для подсистемы предметной области. Предоставляет методы для регистрации задачи, которая должна быть выполнена как элемент параллельных вычислений, а также для регистрации свободного узла INode. |
IControlSystem | domain_interaction.h | Шаблон:IControlSystem breif |
IControlSystemDomainSide | domain_interaction.h | Интерфейс, предоставляемый подсистеме предметной области, для установки соединения с подсистемой управления, а также для получения доступа к ее балансировщикам нагрузки. |
IDomainSystem | domain_interaction.h | Основной программный интерфейс экземпляра подсистемы предметной области. |
IControlFactory | control.h | Интерфейс фабрики экземпляров класса CControlSystem. |
IControlSystemServerSide | control.h | Интерфейс подсистемы управления для доступа со стороны компонентов подсистемы управления. |
IGeometrySystem | geometry_system.h | Интерфейс реализации подсистемы геометрического моделирования. |
IProxy | proxy.h | Полиморфный интерфейс прокси-сервера подсистемы управления. |
Классы
Класс | Файл | Описание |
---|---|---|
CControlFactory | control.cpp | Фабрика основного класса CControlSystem подсистемы управления. |
CControlSystem | control.cpp | Основной класс, реализующий интерфейс подсистемы управления. |
CGeometryModel | geometr_model.cpp | Реализация экземпляров геометрической модели среды распространения моделируемого поля. |
CGeometryStsem | geometry_system.cpp | Реализация подсистемы геометрического моделирования как агрегата экземпляров геометрической модели среды распространения моделируемого поля. |
CInprocessProxy | inprocess_proxy.cpp | Реализация прокси-сервера при внутрипроцессном взаимодействии с экземпляром подсистемы предметной области. |
CLoadBalancer | lb.cpp | Реализация глобального балансировщика нагрузки. |
CObject | geometry_model.cpp | Обобщающий метатип с кастомизируемым программным интефейсом для элементов геометрической модели среды распространения моделируемого физического поля. |
CObjectStorage | geometry_model.cpp | Реализация коллекции всех элементов геометрической модели среды распространения физического поля. |
CPlainObject | geometry_model.cpp | Общая реализация секущей плоскости вывода результатов моделирования. |
CPlainStorage | geometry_model.cpp | Реализация коллекции секущих плоскостей вывода результатов моделирования. |
CPolyObject | geometry_model.cpp | Реализация полигонального элемента геометрической модели среды моделируемого поля. |
CPolyStorage | geometry_model.cpp | Реализация коллекции полигональных элементов модели среды распространения физического поля. |
CSourceObject | geometry_model.cpp | Общая реализация источника моделируемого физического поля. |
CSourceStorage | geometry_model.cpp | Реализация коллекции источников моделируемого физического поля. |
CDomainSystem | domain.cpp | Прокси-сервер для подсистемы предметной области. |
identity | config.h | Вспомогательный метатип для анализа свойств типа, указанного параметром. |
inprocess_proxy_connect_param | proxy.h | Инкапсулирует параметры соединения с экземпляром подсистемы предметной области при динамической компоновке последней. |
ip_proxy_connect_param | proxy.h | Инкапсулирует параметры TCP/IP соединения с экземпляром подсистемы предметной области. |
node_compare | lb.cpp | Бинарный предикат выбора более приоритетного узла INode экземпляра подсистемы предметной области. |
object_only_packing_service | geometry_model.cpp | |
proxy_connect_params | proxy.h | Обобщенный класс параметров установки коммуникации с экземпляром подсистемы предметной области. |
Глобальные функции
- CreateGeometryModel
- CreateGeometrySystem
- CreateInprocessProxy
- CreateLoadBalancer
- entry_point
- FreeData
- GetDefaultUniqueName
- GetErrorDescription
- ReportToLog
- SetErrorLogFile
- to_utf8