node/snark_pool/
snark_pool_effects.rs1use crate::{Service, SnarkPoolEffectfulAction, Store};
2
3use super::SnarkPoolEffectfulActionWithMeta;
4
5pub fn snark_pool_effects<S: Service>(
6 store: &mut Store<S>,
7 action: SnarkPoolEffectfulActionWithMeta,
8) {
9 let (action, _meta) = action.split();
10
11 match action {
12 SnarkPoolEffectfulAction::SnarkPoolJobsRandomChoose {
13 choices,
14 count,
15 on_result,
16 } => {
17 let job_ids = store.service.random_choose(choices.iter(), count);
18 store.dispatch_callback(on_result, job_ids);
19 }
20 }
21}