我编写了一个Corda流程,希望从多个交易对手那里接收数据。如果一个节点发送数据的时间太长(例如因为对方节点或网络已经关闭),我想在等待一段时间后超时,并继续执行流程。
Corda可以吗?
答案 0 :(得分:1)
您可以使用超时等待VaultQuery创建特定状态的未来。 (顺便说一句:未来必须是类星体兼容 - 支持被暂停)
正如我在此所描述的(不同的背景但类似的方法)Is it possible to suspend a flow such that it can be resumed with an RPC-call?
在VaultQuery上创建未来时,您可以指定超时。已实施此类并且有效;未来等待数据的到来然后继续。虽然我会推荐Corda开发团队对这种方法做出进一步的评论。
答案 1 :(得分:0)
从Corda 3开始,目前尚未实现在receive
或sendAndReceive
来电添加超时的功能。
将来可能会将其添加为平台的扩展程序。