1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
use crate::{id_targeted::IdTargeted, thread_request::ThreadRequest};

use super::RandomsRequest;

#[derive(Debug, PartialEq, Eq, Clone)]
pub struct SumRequest {
    pub id: u64,
}

impl IdTargeted for SumRequest {
    fn get_id(&self) -> u64 {
        self.id
    }
}

impl From<SumRequest> for ThreadRequest<RandomsRequest> {
    fn from(get_state: SumRequest) -> Self {
        ThreadRequest::ElementRequest(RandomsRequest::Sum(get_state))
    }
}

impl From<SumRequest> for RandomsRequest {
    fn from(request: SumRequest) -> Self {
        RandomsRequest::Sum(request)
    }
}