在Corda流中对`receive`调用设置超时

时间:2018-01-24 11:10:33

标签: corda

我编写了一个Corda流程,希望从多个交易对手那里接收数据。如果一个节点发送数据的时间太长(例如因为对方节点或网络已经关闭),我想在等待一段时间后超时,并继续执行流程。

Corda可以吗?

2 个答案:

答案 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开始,目前尚未实现在receivesendAndReceive来电添加超时的功能。

将来可能会将其添加为平台的扩展程序。