Я пытаюсь реализовать источник как источник и приемник как удаленный, а затем приемник как источник и источник как удаленный, рабочие процессы типа 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
, значит, что-то пошло не так в настройке.