将数据推送到流



是否可以创建一个Source,我将能够"手动"将数据推送到其中(或者我可以以某种方式将其推送到"常规"Source(?

像这样:

var source = Source.Empty<int>();
source.Push(10); //is something like this possible?

我的用例是创建一个源,每当调用我的 API 端点时,我都可以将数据推送到该源。

是的,这是可能的。退房Source.Queue

Source.Queue可用于从参与者(或从流外部运行的任何内容(向流发送元素。元素将被缓冲,直到流可以处理它们。您可以将元素Offer队列,如果下游有需求,它们将被发送到流中,否则它们将被缓冲,直到收到需求请求。

另一种选择是Source.ActorRef

如果下游有需求,则发送给参与者的由Source.ActorRef具体化的消息将发送到流中,否则它们将被缓冲,直到收到需求请求。

Source.Queue不同,Source.ActorRef不支持背压。

最新更新