簡體   English   中英

如何可靠地觀察 Corda 節點中的狀態更新?

[英]How to reliably observe state updates in the Corda node?

Corda 中可用的ReconnectingCordaRPCOps.kt 有以下說明:

* Note: There is no guarantee that observations will not be lost.
  1. 在什么條件下觀察可能會丟失。
  2. 從 Corda 節點持續提取所有狀態更新的可靠方法是什么?

在什么條件下觀察可能會丟失。

在重新連接期間,前一個觀察者會自動從可觀察對象中取消訂閱,並在再次建立連接后重新訂閱。 因此,如果在斷開連接和重新連接之間的這個窗口期間發生了任何事件,它們將不會被發送到 observable。

從 Corda 節點持續提取所有狀態更新的可靠方法是什么?

目前,優雅重新連接的 API 提供了兩個額外的鈎子onDisconnectonReconnect (請參閱此處的文檔),可用於執行一些協調以發現這些未發出的更新。 這可以通過使用時間窗口[disconnection_event_time - safety_offset, reconnection_event_time + safety_offset]查詢節點的保險庫,然后丟棄/重復刪除已經通過可觀察對象看到的事件來實現。 safety_offset越大,這種方法在不丟失事件的情況下就越可靠。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM