Commit 90f719d
committed
feat: introduce and configure node with tiered KVStore
Introduces TierStore, a KVStore implementation that manages data
across three storage layers:
- Primary: Main/remote data store
- Ephemeral: Secondary store for non-critical, easily-rebuildable
data (e.g., network graph) with fast local access
- Backup: Tertiary store for disaster recovery with async/lazy
operations to avoid blocking primary store
Adds four configuration methods to NodeBuilder:
- set_tier_store_backup: Configure backup data store
- set_tier_store_ephemeral: Configure ephemeral data store
- set_tier_store_retry_config: Configure retry parameters with
exponential backoff
- build_with_tier_store: Build node with primary data store
These methods are exposed to the foreign interface via additions
in ffi/types.rs:
- ffi::SyncAndAsyncKVStore: Composed of KVStore and KVStoreSync
methods to handle the types::SyncAndAsyncKVStore supertrait
across FFI
- ffi::ForeignKVStoreAdapter and ffi::DynStore: Adapt/translate
between foreign language store and native Rust store
- Conditional compilation for DynStore: ffi::DynStore with uniffi,
types::DynStore without, with selection aided by the wrap_store!()
macro1 parent 198ff30 commit 90f719d
File tree
22 files changed
+1960
-51
lines changed- bindings
- src
- chain
- ffi
- io
- payment/asynchronous
- wallet
- tests
- common
22 files changed
+1960
-51
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
63 | 63 | | |
64 | 64 | | |
65 | 65 | | |
| 66 | + | |
66 | 67 | | |
67 | 68 | | |
68 | 69 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
69 | 69 | | |
70 | 70 | | |
71 | 71 | | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
72 | 78 | | |
73 | 79 | | |
74 | 80 | | |
| |||
90 | 96 | | |
91 | 97 | | |
92 | 98 | | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
93 | 149 | | |
94 | 150 | | |
95 | 151 | | |
| |||
114 | 170 | | |
115 | 171 | | |
116 | 172 | | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
117 | 176 | | |
118 | 177 | | |
119 | 178 | | |
| |||
126 | 185 | | |
127 | 186 | | |
128 | 187 | | |
| 188 | + | |
| 189 | + | |
129 | 190 | | |
130 | 191 | | |
131 | 192 | | |
| |||
0 commit comments