在Akka.net集群中的actor之间传递大字节[]

问题描述 投票:0回答:1

我是Akka.net的新手。我有2个actor,一个是要求一个字节数组,另一个是从数据库中获取它并告诉发送者。如果第二个actor在远程,它没有将冗长的数组传递给发送者。如果我想将字节数组作为块发送,我可以在第二个actor的循环中告诉发送者,但我不知道如何使第一个actor监听所有块消息并将它们聚合到单个字节数组。请帮我解决一下这个。

akka.net akka-remote-actor
1个回答
0
投票

一种方法是将来自第二个actor的第一个消息类似于PrepareForIncomingData消息,当接收到第一个actor转换到WaitForDataToComplete状态时,它只接收特定的消息类型,例如, IncomingDataChunk和IncomingDataCompleted。

在此状态下,任何其他消息都被存储,一旦您收到IncomingDataCompleted消息,您将转换回常规状态并取消暂停任何存储的消息。

请参阅文档for become / unbecome - http://getakka.net/articles/actors/receive-actor-api.html#becomeunbecome

或者另一种选择可能是有限状态机 - http://getakka.net/articles/actors/finite-state-machine.html

或者可能将数据写入共享位置,并且消息仅包含第一个actor可以从中读取数据的路径。

© www.soinside.com 2019 - 2024. All rights reserved.