sat-rs/satrs-example/src/requests.rs

43 lines
1.0 KiB
Rust
Raw Normal View History

2023-02-13 09:20:00 +01:00
use satrs_core::hk::HkRequest;
2023-02-15 11:05:32 +01:00
use satrs_core::mode::ModeRequest;
2022-12-21 10:15:41 +01:00
use satrs_core::pus::verification::{TcStateAccepted, VerificationToken};
2023-02-27 13:44:24 +01:00
use satrs_core::tmtc::TargetId;
2022-12-19 17:03:26 +01:00
#[derive(Copy, Clone, Eq, PartialEq, Debug)]
2023-02-15 11:19:23 +01:00
#[non_exhaustive]
2022-12-19 17:03:26 +01:00
pub enum Request {
HkRequest(HkRequest),
2023-02-15 11:19:23 +01:00
ModeRequest(ModeRequest),
2022-12-19 17:03:26 +01:00
}
2022-12-21 10:15:41 +01:00
#[derive(Copy, Clone, Eq, PartialEq, Debug)]
2023-02-27 13:44:24 +01:00
pub struct TargetedRequest {
pub(crate) target_id: TargetId,
pub(crate) request: Request,
}
impl TargetedRequest {
pub fn new(target_id: TargetId, request: Request) -> Self {
Self { target_id, request }
}
}
#[derive(Copy, Clone, Eq, PartialEq, Debug)]
pub struct RequestWithToken {
pub(crate) targeted_request: TargetedRequest,
pub(crate) token: VerificationToken<TcStateAccepted>,
}
impl RequestWithToken {
pub fn new(
target_id: u32,
request: Request,
token: VerificationToken<TcStateAccepted>,
) -> Self {
Self {
targeted_request: TargetedRequest::new(target_id, request),
token,
}
}
}