我有一个Akka流,我想用它来启动针对第三方API的会话,然后我希望它通过在设定的时间间隔内发出keepAlive请求来保持该会话的活动。
现在我已经设法从流中收集第一个会话签名元素,将其收集到SinkQueue但我似乎无法上游继续生成元素,这是我的代码:
val signatures = Source.single({ _: String ->
sessionManager.logon(logonReq, contractVersion).signature
}).keepAlive(interval, {{ signature: String ->
sessionManager.keepAlive(KeepAliveRequest(), contractVersion, signature)
signature
}})
fun start() = signatures.
conflateWithSeed({ it("") } ,{ x, f -> f(x) }).
runWith(Sink.queue<String>().withAttributes(Attributes.inputBuffer(0, 1)), mat)