是否可以创建一个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
不支持背压。