Описание задачи, C#
Имеется канал. в который публикуются непрерывный поток данных. Есть набор потребителей этих данных.
Необходимо реализовать метод, который будет получать данные из канала и публиковать их всем потребителям.
Технические детали
-
Чтение данных из канала осуществляется с помощью метода
IConsumer.ReadData
. -
Публикация данных осуществляется с помощью метода
IPublisher.SendData
. Данные для отправки совпадают с данными, полученными из канала. -
Список клиентов, которые должны получить сообщение указан в самом сообщении (поле
Recipients
). -
Отправка может завершиться с один из следующих статусов:
-
SendResult.Accepted
- принято потребителем, операция отправки данных адресату считается завершённой -
SendResult.Rejected
- отклонено, операцию отправки следует повторить после задержкиIHandler.Timeout
- Метод
PerformOperation
должен обладать высокой пропускной способностью: события внутриReadData
могут накапливаться.