node/snark_pool/
snark_pool_effects.rs

1use 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}