@@ -31,6 +31,18 @@ struct SubtreeStateSyncInfo<'db> {
31
31
num_processed_chunks : usize ,
32
32
}
33
33
34
+ impl SubtreeStateSyncInfo < ' _ > {
35
+ // Function to create an instance of SubtreeStateSyncInfo with default values
36
+ fn new ( ) -> Self {
37
+ let pending_chunks = BTreeSet :: new ( ) ;
38
+ Self {
39
+ restorer : None ,
40
+ pending_chunks,
41
+ num_processed_chunks : 0 ,
42
+ }
43
+ }
44
+ }
45
+
34
46
// Struct governing state sync
35
47
pub struct MultiStateSyncInfo < ' db > {
36
48
// Map of current processing subtrees
@@ -42,6 +54,19 @@ pub struct MultiStateSyncInfo<'db> {
42
54
version : u16 ,
43
55
}
44
56
57
+ impl MultiStateSyncInfo < ' _ > {
58
+ // Function to create an instance of MultiStateSyncInfo with default values
59
+ pub fn new ( ) -> Self {
60
+ let processed_prefixes = BTreeSet :: new ( ) ;
61
+ let current_prefixes = BTreeMap :: default ( ) ;
62
+ Self {
63
+ current_prefixes,
64
+ processed_prefixes,
65
+ version : CURRENT_STATE_SYNC_VERSION ,
66
+ }
67
+ }
68
+ }
69
+
45
70
// Struct containing information about current subtrees found in GroveDB
46
71
pub struct SubtreesMetadata {
47
72
// Map of Prefix (Path digest) -> (Actual path, Parent Subtree actual_value_hash, Parent
@@ -140,25 +165,6 @@ pub fn util_decode_vec_ops(chunk: Vec<u8>) -> Result<Vec<Op>, Error> {
140
165
141
166
#[ cfg( feature = "full" ) ]
142
167
impl GroveDb {
143
- fn create_subtree_state_sync_info ( & self ) -> SubtreeStateSyncInfo {
144
- let pending_chunks = BTreeSet :: new ( ) ;
145
- SubtreeStateSyncInfo {
146
- restorer : None ,
147
- pending_chunks,
148
- num_processed_chunks : 0 ,
149
- }
150
- }
151
-
152
- pub fn create_multi_state_sync_info ( & self ) -> MultiStateSyncInfo {
153
- let processed_prefixes = BTreeSet :: new ( ) ;
154
- let current_prefixes = BTreeMap :: default ( ) ;
155
- MultiStateSyncInfo {
156
- current_prefixes,
157
- processed_prefixes,
158
- version : CURRENT_STATE_SYNC_VERSION ,
159
- }
160
- }
161
-
162
168
// Returns the discovered subtrees found recursively along with their associated
163
169
// metadata Params:
164
170
// tx: Transaction. Function returns the data by opening merks at given tx.
@@ -383,7 +389,7 @@ impl GroveDb {
383
389
replication:: util_path_to_string( & [ ] )
384
390
) ;
385
391
386
- let mut root_prefix_state_sync_info = self . create_subtree_state_sync_info ( ) ;
392
+ let mut root_prefix_state_sync_info = SubtreeStateSyncInfo :: new ( ) ;
387
393
let root_prefix = [ 0u8 ; 32 ] ;
388
394
if let Ok ( merk) = self . open_merk_for_replication ( SubtreePath :: empty ( ) , tx) {
389
395
let restorer = Restorer :: new ( merk, app_hash, None ) ;
@@ -588,7 +594,7 @@ impl GroveDb {
588
594
replication:: util_path_to_string( & prefix_metadata. 0 )
589
595
) ;
590
596
591
- let mut subtree_state_sync_info = self . create_subtree_state_sync_info ( ) ;
597
+ let mut subtree_state_sync_info = SubtreeStateSyncInfo :: new ( ) ;
592
598
if let Ok ( merk) = self . open_merk_for_replication ( path. into ( ) , tx) {
593
599
let restorer =
594
600
Restorer :: new ( merk, * s_elem_value_hash, Some ( * s_actual_value_hash) ) ;
0 commit comments