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
27
28
29
30
31
use crate::{samples::Randoms, *};
use super::RandomsApi;
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct SumResponse {
pub id: usize,
pub sum: u128,
}
impl SumResponse {
pub fn sum(&self) -> u128 {
self.sum
}
}
impl From<SumResponse> for ThreadRequestResponse<Randoms> {
fn from(response: SumResponse) -> Self {
ThreadRequestResponse::MessagePoolItem(RandomsApi::Sum(RequestResponse::Response(response)))
}
}
impl From<ThreadRequestResponse<Randoms>> for SumResponse {
fn from(response: ThreadRequestResponse<Randoms>) -> Self {
let ThreadRequestResponse::MessagePoolItem(RandomsApi::Sum(RequestResponse::Response(response))) = response else {
panic!("unexpected")
};
response
}
}