@@ -35,8 +35,8 @@ pub(super) async fn import_blocks_from_dsn<Block, AS, Client, PG, IQS>(
35
35
client : & Client ,
36
36
piece_getter : & PG ,
37
37
import_queue_service : & mut IQS ,
38
- last_processed_segment_index : & mut SegmentIndex ,
39
- last_processed_block_number : & mut <Block :: Header as Header >:: Number ,
38
+ last_processed_segment_index : SegmentIndex ,
39
+ mut last_processed_block_number : <Block :: Header as Header >:: Number ,
40
40
erasure_coding : & ErasureCoding ,
41
41
) -> Result < u64 , Error >
42
42
where
70
70
let mut imported_blocks = 0 ;
71
71
let mut reconstructor = Arc :: new ( Mutex :: new ( Reconstructor :: new ( erasure_coding. clone ( ) ) ) ) ;
72
72
// Start from the first unprocessed segment and process all segments known so far
73
- let segment_indices_iter = ( * last_processed_segment_index + SegmentIndex :: ONE )
73
+ let segment_indices_iter = ( last_processed_segment_index + SegmentIndex :: ONE )
74
74
..=segment_headers_store
75
75
. max_segment_index ( )
76
76
. expect ( "Exists, we have inserted segment headers above; qed" ) ;
@@ -104,7 +104,7 @@ where
104
104
// We have already processed the last block in this segment, or one higher than it,
105
105
// so it can't change. Resetting the reconstructor loses any partial blocks, so we
106
106
// only reset if the (possibly partial) last block has been processed.
107
- if * last_processed_block_number >= last_archived_maybe_partial_block_number {
107
+ if last_processed_block_number >= last_archived_maybe_partial_block_number {
108
108
debug ! (
109
109
target: LOG_TARGET ,
110
110
%segment_index,
@@ -113,14 +113,13 @@ where
113
113
%last_archived_block_partial,
114
114
"Already processed last (possibly partial) block in segment, resetting reconstructor" ,
115
115
) ;
116
- * last_processed_segment_index = segment_index;
117
116
// Reset reconstructor instance
118
117
reconstructor = Arc :: new ( Mutex :: new ( Reconstructor :: new ( erasure_coding. clone ( ) ) ) ) ;
119
118
continue ;
120
119
}
121
120
// Just one partial unprocessed block and this was the last segment available, so nothing to
122
121
// import
123
- if last_archived_maybe_partial_block_number == * last_processed_block_number + One :: one ( )
122
+ if last_archived_maybe_partial_block_number == last_processed_block_number + One :: one ( )
124
123
&& last_archived_block_partial
125
124
&& segment_indices_iter. peek ( ) . is_none ( )
126
125
{
@@ -203,6 +202,7 @@ where
203
202
}
204
203
trace ! (
205
204
target: LOG_TARGET ,
205
+ %segment_index,
206
206
%block_number,
207
207
%best_block_number,
208
208
%just_queued_blocks_count,
@@ -216,7 +216,7 @@ where
216
216
let signed_block =
217
217
decode_block :: < Block > ( & block_bytes) . map_err ( |error| error. to_string ( ) ) ?;
218
218
219
- * last_processed_block_number = block_number;
219
+ last_processed_block_number = block_number;
220
220
221
221
// No need to import blocks that are already present, if block is not present it might
222
222
// correspond to a short fork, so we need to import it even if we already have another
@@ -256,8 +256,6 @@ where
256
256
// Import queue handles verification and importing it into the client
257
257
import_queue_service. import_blocks ( BlockOrigin :: NetworkInitialSync , blocks_to_import) ;
258
258
}
259
-
260
- * last_processed_segment_index = segment_index;
261
259
}
262
260
263
261
Ok ( imported_blocks)
0 commit comments