Подробнее посмотрим на ServerMaster в текущей статье. На его состав и структуру. А самое главное посмотрим на то, где создаются и где хранятся объекты серверов.

Server Master.

Хранилище реализаций серверов. Именно в нём расположены процедуры, создающие экземпляры любого подключения в OsEngine.
Именно в этом классе нужно будет создавать реализацию нового коннектора и здесь его объект будет базово храниться.
Регионы ServerMaster.

- Сервисный код и методы.
- Создание и хранение коннекторов.
- Автоматическое создание коннекторов.
- Доступ к разрешениям коннекторов.
- Прорисовка портфелей и ордеров.
1. Service.

- Показать окно создания / выбора коннектора. В тестере открывается окно эмулятора биржи сразу.
- Окно создания / выбора коннектора.
- Сохранить настройки.
- Загрузить настройки.
2.Creating and storing servers.
Регион, в котором создаются и хранятся объекты коннекторов. Здесь Вам предстоит прописать механизм создания коннектора.

- Приватный массив, в котором хранятся экземпляры ранее созданных коннекторов.
- Список типов коннекторов, которые доступны для создания во время боевых торгов. Сюда надо добавить тип коннектора, если Вы делаете новый.
- Список типов коннекторов, которые доступны для создания в режиме OsData. Т.е. для скачивания данных.
- Есть ли на данный момент какой-то активный сервер.
- Взять массив объектов ранее созданных коннекторов.
- Взять массив типов ранее созданных коннекторов.
- Выключить все работающие коннекторы. Вызывается перед закрытием программы.
- Создать экземпляр сервера.
- Сохранить список наиболее часто используемых юзером коннекторов.
- Загрузить список наиболее часто используемых юзером коннекторов.
- Метод создания серверов для оптимизатора.
- Удалить ранее созданный сервер для оптимизатора.
- Событие: Создан новый коннектор.
3.Automatic creation servers.
Регион, в котором реализована логика автоматического создания и развёртывания коннекторов.

- Включить процедуру авторазвёртывания коннекторов.
- Флаг, означающий включен ли механизм авторазвёртывания коннекторов, которые запрашивают роботы, либо (если false) пользователь должен законнектиться вручную.
- Механизм добавления типа сервера на авторазвёртывание.
- Массив типов коннекторов, которые надо развернуть по запросу роботов.
- Массив типов коннекторов, которые механизм авторазвёртывания уже пытался развернуть.
- Метод, в котором работает поток, занимающийся авторазвёртыванием коннекторов.
- Метод, в котором находится конечная логика развёртывания и подключения коннектора.
4. Access to servers permissions.
Регион, в котором создаются и хранятся объекты разрешений для коннекторов. Здесь Вам предстоит прописать механизм создания разрешения для коннектора.

Тут у нас хранятся разрешения для серверов.
О том, что это такое и как устроено, есть в этой статьей: https://smart-lab.ru/company/os_engine/blog/975730.php
5. Access to portfolio, orders and it`s drawing.
Регион, отвечающий за прорисовку портфеля и ордеров по серверам.

- Начать прорисовку.
- Приостановить прорисовку.
- Объект, отвечающий за прорисовку портфелей и позиций по ним.
- Объект, отвечающий за прорисовку ордеров в рынке по активным серверам.
- Очистить таблицу с ордерами.
- Загрузить на прорисовку из ГУИ хосты.
- Добавить ордер в таблицу на прорисовку.
- Остальное сервисные штуки…
6. Делая новый коннектор, добавляем тип коннектора в списки доступных для торговли.
Во время разработки коннектора, нужно будет добавить его тип в список доступных коннекторов для торговли (если это сервер для торговли):

7. Делая новый коннектор, добавляем тип коннектора в списки доступных для OsData.
Во время разработки коннектора нужно будет добавить его тип в список доступных коннекторов для OsData (если из него можно выкачивать данные):

8. Делая новый коннектор, добавляем процедуру создания коннектора.
Во время разработки коннектора, нужно будет реализовать процедуру создания объекта коннектора, вот здесь:

Удачных алгоритмов!
Пост из серии «Коннекторы к OsEngine»
Серия о том, как стать настоящим программистом и изменить свою профессию.
Оглавление и смыслы здесь: https://smart-lab.ru/company/os_engine/blog/959953.php
Комментарии открыты для друзей, добавляйтесь!

OsEngine:
https://github.com/AlexWan/OsEngine
Поддержка OsEngine:
https://t.me/osengine_official_support
Регистрируйся в АЛОР и получай бонусы:
https://www.alorbroker.ru/open
Сайт АЛОР БРОКЕР:
https://www.alorbroker.ru
Раздел «Для клиентов»:
https://www.alorbroker.ru/openinfo/for-clients
Программа лояльности от АЛОР БРОКЕР и OsEngine:
https://smart-lab.ru/company/os_engine/blog/972745.php
