File tree 1 file changed +21
-6
lines changed
damocles-worker/src/sealing/sealing_thread/planner
1 file changed +21
-6
lines changed Original file line number Diff line number Diff line change @@ -238,12 +238,27 @@ impl<'t> NiPoRep<'t> {
238
238
}
239
239
240
240
fn handle_persistance_submitted ( & self ) -> Result < Event , Failure > {
241
- // let sector_id = self.task.sector_id()?;
242
- // Todo:
243
- // Add RPC method GenSeed from venus
244
- let rng = [ 0u8 ; 32 ] ;
245
- let rng = BytesArray32 ( rng) ;
246
- let seed = Seed { seed : rng, epoch : 100 } ;
241
+ let sector_id = self . task . sector_id ( ) ?;
242
+
243
+ let seed = loop {
244
+ let wait = call_rpc ! {
245
+ self . task. rpc( ) =>wait_seed( sector_id. clone( ) , )
246
+ } ?;
247
+
248
+ if let Some ( seed) = wait. seed {
249
+ break seed;
250
+ } ;
251
+
252
+ if !wait. should_wait || wait. delay == 0 {
253
+ return Err ( anyhow ! ( "invalid empty wait_seed response" ) . temp ( ) ) ;
254
+ }
255
+
256
+ let delay = Duration :: from_secs ( wait. delay ) ;
257
+
258
+ debug ! ( ?delay, "waiting for next round of polling seed" ) ;
259
+
260
+ self . task . sealing_ctrl . wait_or_interrupted ( delay) ?;
261
+ } ;
247
262
248
263
Ok ( Event :: AssignSeed ( seed) )
249
264
}
You can’t perform that action at this time.
0 commit comments