Akka. Net: Реактивные потоки по сети - PullRequest
1 голос
/ 04 мая 2020

Я пытаюсь реализовать источник как источник и приемник как удаленный, а затем приемник как источник и источник как удаленный, рабочие процессы типа 1 и типа 2 в AkkaStreamsModel соответственно.

Тип 1 создает SourceRef и передает его удаленному субъекту в качестве открытого источника входящих данных для субъекта приемника. Тип 2 создает SinkRef и передает его удаленному субъекту в качестве открытого приемника, чтобы начать отправку данных. Для дальнейшего объяснения я загрузил на GitHub рабочие процессы типа 1 ( AkkaStreams ) и типа 2 ( AkkaStreamsFaulty ).

Рабочий процесс типа 1 настроен и работает правильно, однако рабочий процесс типа 2 неисправен. Я сузил проблему до метода Receive<PrepareUpload>() внутри субъекта DataReceiver. После успешного создания приемника поток и приемник отправляются (через сообщение MeasurementsSinkReady) действующему субъекту с использованием метода PipeTo().

Может ли кто-нибудь указать, где я могу ошибаться в Тип 2 рабочий процесс? Я исчерпал все другие варианты ( Akka. Net Документация ; Akka. Net Gitter , различные блоги и видео и др. c). Я не уверен, где go отсюда, любая помощь будет высоко ценится.

Спасибо.

Редактировать (Добавлена ​​дополнительная информация в соответствии с Бартоша Sypytkowski's комментарий)

Данные никогда не передаются между двумя участниками удаленно, в этом проблема. Используя Тип 1, SourceRef устанавливается и отправляется удаленному субъекту. Удаленный субъект получает это сообщение. Однако для типа 2 SinkRef создается, но никогда не достигает удаленного субъекта. Поэтому я предполагаю, что проблема заключается в генерации метода SinkRef или PipeTo(). Это происходит потому, что если вы отправляете сообщение между участниками, оно работает, но если сообщение обусловлено корректной настройкой SinkRef, значит, что-то пошло не так в настройке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...