Сообщения
Механизм сообщений является внутренним логическим слоем архитектуры S#, который обеспечивает взаимодействие различных элементов платформы по стандартному протоколу.
Механизм сообщений включает три ключевых элемента. Это само сообщение Message, адаптер сообщений MessageAdapter и транспортный канал IMessageChannel.
Сообщение выполняет роль агента, передающего информацию. Сообщения имеют свой тип MessageTypes. Каждому типу сообщения соответствует определенный класс. В свою очередь все классы сообщений наследуют от абстрактного класса Message, который наделяет потомков такими свойствами, как тип сообщения Message.Type и Message.LocalTime - локальное время создания/получения сообщения.
Сообщения могут быть исходящими и входящими.
- Исходящие сообщения - сообщения, которые посылаются во внешнюю систему. Обычно это команды, которые генерирует программа, например, сообщение ConnectMessage - команда, запрашивающая соединение с сервером.
- Входящие сообщения - сообщения поступающие из внешней системы. Это сообщения передающие информацию о рыночных данных, транзакциях, портфелях, событиях соединения и т.п. Например, сообщение QuoteChangeMessage - передает информацию об изменении стакана.
Адаптер сообщений играет роль посредника между торговой системой и программой. Для каждого типа коннектора имеется свой класс(ы) адаптера, который наследуется от абстрактного класса MessageAdapter.
Адаптер выполняет две основные функции:
- Преобразует исходящие сообщения в команды конкретной торговой системы.
- Преобразует информацию, поступающую от торговой системы (соединение, рыночные данные, транзакции и т.п.) во входящие сообщения.
Транспортный канал - обеспечивает синхронизацию входящих и исходящих сообщений.