add Send requirement on traits

This commit is contained in:
2022-12-21 19:50:31 +01:00
parent f109d59d56
commit 78c54cf617
5 changed files with 14 additions and 4 deletions

View File

@ -67,7 +67,7 @@ use spacepackets::ecss::{PusError, PusPacket};
use spacepackets::tc::PusTc;
use spacepackets::SpHeader;
pub trait PusServiceProvider: Downcast {
pub trait PusServiceProvider: Downcast + Send {
type Error;
fn handle_pus_tc_packet(
&mut self,
@ -147,6 +147,8 @@ mod tests {
#[cfg(feature = "std")]
use std::sync::{Arc, Mutex};
fn is_send<T: Send>(_: &T) {}
struct PusHandlerSharedQueue {
pub pus_queue: Arc<Mutex<VecDeque<(u8, u16, Vec<u8>)>>>,
}
@ -263,7 +265,7 @@ mod tests {
let pus_distrib = PusDistributor {
service_provider: Box::new(pus_handler),
};
is_send(&pus_distrib);
let apid_handler = ApidHandlerShared {
pus_distrib,
handler_base,