CI fix and naming improvement #249
@@ -33,7 +33,7 @@ use satrs::{
|
|||||||
hal::std::{tcp_server::ServerConfig, udp_server::UdpTcServer},
|
hal::std::{tcp_server::ServerConfig, udp_server::UdpTcServer},
|
||||||
mode::{Mode, ModeAndSubmode, ModeRequest, ModeRequestHandlerMpscBounded},
|
mode::{Mode, ModeAndSubmode, ModeRequest, ModeRequestHandlerMpscBounded},
|
||||||
mode_tree::connect_mode_nodes,
|
mode_tree::connect_mode_nodes,
|
||||||
pus::{event_man::EventRequestWithToken, EcssTcInMemConverterWrapper, HandlingStatus},
|
pus::{event_man::EventRequestWithToken, EcssTcCacher, HandlingStatus},
|
||||||
request::{GenericMessage, MessageMetadata},
|
request::{GenericMessage, MessageMetadata},
|
||||||
spacepackets::time::{cds::CdsTime, TimeWriter},
|
spacepackets::time::{cds::CdsTime, TimeWriter},
|
||||||
};
|
};
|
||||||
@@ -57,12 +57,12 @@ use tmtc::{tc_source::TcSourceTask, tm_sink::TmSink};
|
|||||||
cfg_if::cfg_if! {
|
cfg_if::cfg_if! {
|
||||||
if #[cfg(feature = "heap_tmtc")] {
|
if #[cfg(feature = "heap_tmtc")] {
|
||||||
use interface::udp::DynamicUdpTmHandler;
|
use interface::udp::DynamicUdpTmHandler;
|
||||||
use satrs::pus::EcssTcInVecConverter;
|
use satrs::pus::EcssTcVecCacher;
|
||||||
use tmtc::{tc_source::TcSourceTaskDynamic, tm_sink::TmSinkDynamic};
|
use tmtc::{tc_source::TcSourceTaskDynamic, tm_sink::TmSinkDynamic};
|
||||||
} else {
|
} else {
|
||||||
use std::sync::RwLock;
|
use std::sync::RwLock;
|
||||||
use interface::udp::StaticUdpTmHandler;
|
use interface::udp::StaticUdpTmHandler;
|
||||||
use satrs::pus::EcssTcInSharedPoolConverter;
|
use satrs::pus::EcssTcInSharedPoolCacher;
|
||||||
use satrs::tmtc::{PacketSenderWithSharedPool, SharedPacketPool};
|
use satrs::tmtc::{PacketSenderWithSharedPool, SharedPacketPool};
|
||||||
use satrs_example::config::pool::create_static_pools;
|
use satrs_example::config::pool::create_static_pools;
|
||||||
use tmtc::{
|
use tmtc::{
|
||||||
@@ -143,9 +143,9 @@ fn main() {
|
|||||||
let tc_sender_with_shared_pool =
|
let tc_sender_with_shared_pool =
|
||||||
PacketSenderWithSharedPool::new(tc_source_tx, shared_tc_pool_wrapper.clone());
|
PacketSenderWithSharedPool::new(tc_source_tx, shared_tc_pool_wrapper.clone());
|
||||||
let tc_in_mem_converter =
|
let tc_in_mem_converter =
|
||||||
EcssTcInMemConverter::Static(EcssTcInSharedPoolConverter::new(shared_tc_pool, 4096));
|
EcssTcCacher::Static(EcssTcInSharedPoolCacher::new(shared_tc_pool, 4096));
|
||||||
} else if #[cfg(feature = "heap_tmtc")] {
|
} else if #[cfg(feature = "heap_tmtc")] {
|
||||||
let tc_in_mem_converter = EcssTcInMemConverterWrapper::Heap(EcssTcInVecConverter::default());
|
let tc_in_mem_converter = EcssTcCacher::Heap(EcssTcVecCacher::default());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -9,7 +9,7 @@ use satrs::pus::verification::{
|
|||||||
VerificationReportingProvider, VerificationToken,
|
VerificationReportingProvider, VerificationToken,
|
||||||
};
|
};
|
||||||
use satrs::pus::{
|
use satrs::pus::{
|
||||||
ActiveRequest, EcssTcAndToken, EcssTcInMemConverterWrapper, EcssTmSender, EcssTmtcError,
|
ActiveRequest, EcssTcAndToken, EcssTcCacher, EcssTmSender, EcssTmtcError,
|
||||||
GenericConversionError, MpscTcReceiver, PusPacketHandlingError, PusReplyHandler,
|
GenericConversionError, MpscTcReceiver, PusPacketHandlingError, PusReplyHandler,
|
||||||
PusServiceHelper, PusTcToRequestConverter,
|
PusServiceHelper, PusTcToRequestConverter,
|
||||||
};
|
};
|
||||||
@@ -208,7 +208,7 @@ impl PusTcToRequestConverter<ActivePusActionRequestStd, ActionRequest> for Actio
|
|||||||
|
|
||||||
pub fn create_action_service(
|
pub fn create_action_service(
|
||||||
tm_sender: TmTcSender,
|
tm_sender: TmTcSender,
|
||||||
tc_in_mem_converter: EcssTcInMemConverterWrapper,
|
tc_in_mem_converter: EcssTcCacher,
|
||||||
pus_action_rx: mpsc::Receiver<EcssTcAndToken>,
|
pus_action_rx: mpsc::Receiver<EcssTcAndToken>,
|
||||||
action_router: GenericRequestRouter,
|
action_router: GenericRequestRouter,
|
||||||
reply_receiver: mpsc::Receiver<GenericMessage<ActionReplyPus>>,
|
reply_receiver: mpsc::Receiver<GenericMessage<ActionReplyPus>>,
|
||||||
@@ -274,7 +274,7 @@ mod tests {
|
|||||||
TEST_APID, TEST_COMPONENT_ID_0, TEST_COMPONENT_ID_1, TEST_UNIQUE_ID_0, TEST_UNIQUE_ID_1,
|
TEST_APID, TEST_COMPONENT_ID_0, TEST_COMPONENT_ID_1, TEST_UNIQUE_ID_0, TEST_UNIQUE_ID_1,
|
||||||
};
|
};
|
||||||
use satrs::pus::verification::test_util::TestVerificationReporter;
|
use satrs::pus::verification::test_util::TestVerificationReporter;
|
||||||
use satrs::pus::{verification, EcssTcInVecConverter};
|
use satrs::pus::{verification, EcssTcVecCacher};
|
||||||
use satrs::request::MessageMetadata;
|
use satrs::request::MessageMetadata;
|
||||||
use satrs::tmtc::PacketAsVec;
|
use satrs::tmtc::PacketAsVec;
|
||||||
use satrs::ComponentId;
|
use satrs::ComponentId;
|
||||||
@@ -325,7 +325,7 @@ mod tests {
|
|||||||
pus_action_rx,
|
pus_action_rx,
|
||||||
TmTcSender::Heap(tm_funnel_tx.clone()),
|
TmTcSender::Heap(tm_funnel_tx.clone()),
|
||||||
verif_reporter,
|
verif_reporter,
|
||||||
EcssTcInMemConverterWrapper::Heap(EcssTcInVecConverter::default()),
|
EcssTcCacher::Heap(EcssTcVecCacher::default()),
|
||||||
),
|
),
|
||||||
ActionRequestConverter::default(),
|
ActionRequestConverter::default(),
|
||||||
DefaultActiveActionRequestMap::default(),
|
DefaultActiveActionRequestMap::default(),
|
||||||
|
@@ -6,7 +6,7 @@ use satrs::pus::event_man::EventRequestWithToken;
|
|||||||
use satrs::pus::event_srv::PusEventServiceHandler;
|
use satrs::pus::event_srv::PusEventServiceHandler;
|
||||||
use satrs::pus::verification::VerificationReporter;
|
use satrs::pus::verification::VerificationReporter;
|
||||||
use satrs::pus::{
|
use satrs::pus::{
|
||||||
DirectPusPacketHandlerResult, EcssTcAndToken, EcssTcInMemConverterWrapper, MpscTcReceiver,
|
DirectPusPacketHandlerResult, EcssTcAndToken, EcssTcCacher, MpscTcReceiver,
|
||||||
PartialPusHandlingError, PusServiceHelper,
|
PartialPusHandlingError, PusServiceHelper,
|
||||||
};
|
};
|
||||||
use satrs::spacepackets::ecss::PusServiceId;
|
use satrs::spacepackets::ecss::PusServiceId;
|
||||||
@@ -16,7 +16,7 @@ use super::{DirectPusService, HandlingStatus};
|
|||||||
|
|
||||||
pub fn create_event_service(
|
pub fn create_event_service(
|
||||||
tm_sender: TmTcSender,
|
tm_sender: TmTcSender,
|
||||||
tm_in_pool_converter: EcssTcInMemConverterWrapper,
|
tm_in_pool_converter: EcssTcCacher,
|
||||||
pus_event_rx: mpsc::Receiver<EcssTcAndToken>,
|
pus_event_rx: mpsc::Receiver<EcssTcAndToken>,
|
||||||
event_request_tx: mpsc::Sender<EventRequestWithToken>,
|
event_request_tx: mpsc::Sender<EventRequestWithToken>,
|
||||||
) -> EventServiceWrapper {
|
) -> EventServiceWrapper {
|
||||||
@@ -36,12 +36,8 @@ pub fn create_event_service(
|
|||||||
}
|
}
|
||||||
|
|
||||||
pub struct EventServiceWrapper {
|
pub struct EventServiceWrapper {
|
||||||
pub handler: PusEventServiceHandler<
|
pub handler:
|
||||||
MpscTcReceiver,
|
PusEventServiceHandler<MpscTcReceiver, TmTcSender, EcssTcCacher, VerificationReporter>,
|
||||||
TmTcSender,
|
|
||||||
EcssTcInMemConverterWrapper,
|
|
||||||
VerificationReporter,
|
|
||||||
>,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
impl DirectPusService for EventServiceWrapper {
|
impl DirectPusService for EventServiceWrapper {
|
||||||
|
@@ -5,10 +5,9 @@ use satrs::pus::verification::{
|
|||||||
VerificationReportingProvider, VerificationToken,
|
VerificationReportingProvider, VerificationToken,
|
||||||
};
|
};
|
||||||
use satrs::pus::{
|
use satrs::pus::{
|
||||||
ActivePusRequestStd, ActiveRequest, DefaultActiveRequestMap, EcssTcAndToken,
|
ActivePusRequestStd, ActiveRequest, DefaultActiveRequestMap, EcssTcAndToken, EcssTcCacher,
|
||||||
EcssTcInMemConverterWrapper, EcssTmSender, EcssTmtcError, GenericConversionError,
|
EcssTmSender, EcssTmtcError, GenericConversionError, MpscTcReceiver, PusPacketHandlingError,
|
||||||
MpscTcReceiver, PusPacketHandlingError, PusReplyHandler, PusServiceHelper,
|
PusReplyHandler, PusServiceHelper, PusTcToRequestConverter,
|
||||||
PusTcToRequestConverter,
|
|
||||||
};
|
};
|
||||||
use satrs::request::{GenericMessage, UniqueApidTargetId};
|
use satrs::request::{GenericMessage, UniqueApidTargetId};
|
||||||
use satrs::res_code::ResultU16;
|
use satrs::res_code::ResultU16;
|
||||||
@@ -243,7 +242,7 @@ impl PusTcToRequestConverter<ActivePusRequestStd, HkRequest> for HkRequestConver
|
|||||||
|
|
||||||
pub fn create_hk_service(
|
pub fn create_hk_service(
|
||||||
tm_sender: TmTcSender,
|
tm_sender: TmTcSender,
|
||||||
tc_in_mem_converter: EcssTcInMemConverterWrapper,
|
tc_in_mem_converter: EcssTcCacher,
|
||||||
pus_hk_rx: mpsc::Receiver<EcssTcAndToken>,
|
pus_hk_rx: mpsc::Receiver<EcssTcAndToken>,
|
||||||
request_router: GenericRequestRouter,
|
request_router: GenericRequestRouter,
|
||||||
reply_receiver: mpsc::Receiver<GenericMessage<HkReply>>,
|
reply_receiver: mpsc::Receiver<GenericMessage<HkReply>>,
|
||||||
|
@@ -7,10 +7,10 @@ use satrs::pus::verification::{
|
|||||||
VerificationReporterConfig, VerificationReportingProvider, VerificationToken,
|
VerificationReporterConfig, VerificationReportingProvider, VerificationToken,
|
||||||
};
|
};
|
||||||
use satrs::pus::{
|
use satrs::pus::{
|
||||||
ActiveRequest, ActiveRequestStore, CacheAndReadRawEcssTc, EcssTcAndToken,
|
ActiveRequest, ActiveRequestStore, CacheAndReadRawEcssTc, EcssTcAndToken, EcssTcCacher,
|
||||||
EcssTcInMemConverterWrapper, EcssTcReceiver, EcssTmSender, EcssTmtcError,
|
EcssTcReceiver, EcssTmSender, EcssTmtcError, GenericConversionError, GenericRoutingError,
|
||||||
GenericConversionError, GenericRoutingError, HandlingStatus, PusPacketHandlingError,
|
HandlingStatus, PusPacketHandlingError, PusReplyHandler, PusRequestRouter, PusServiceHelper,
|
||||||
PusReplyHandler, PusRequestRouter, PusServiceHelper, PusTcToRequestConverter, TcInMemory,
|
PusTcToRequestConverter, TcInMemory,
|
||||||
};
|
};
|
||||||
use satrs::queue::{GenericReceiveError, GenericSendError};
|
use satrs::queue::{GenericReceiveError, GenericSendError};
|
||||||
use satrs::request::{Apid, GenericMessage, MessageMetadata};
|
use satrs::request::{Apid, GenericMessage, MessageMetadata};
|
||||||
@@ -275,7 +275,7 @@ pub struct PusTargetedRequestService<
|
|||||||
ReplyType,
|
ReplyType,
|
||||||
> {
|
> {
|
||||||
pub service_helper:
|
pub service_helper:
|
||||||
PusServiceHelper<TcReceiver, TmTcSender, EcssTcInMemConverterWrapper, VerificationReporter>,
|
PusServiceHelper<TcReceiver, TmTcSender, EcssTcCacher, VerificationReporter>,
|
||||||
pub request_router: GenericRequestRouter,
|
pub request_router: GenericRequestRouter,
|
||||||
pub request_converter: RequestConverter,
|
pub request_converter: RequestConverter,
|
||||||
pub active_request_map: ActiveRequestMapInstance,
|
pub active_request_map: ActiveRequestMapInstance,
|
||||||
@@ -311,7 +311,7 @@ where
|
|||||||
service_helper: PusServiceHelper<
|
service_helper: PusServiceHelper<
|
||||||
TcReceiver,
|
TcReceiver,
|
||||||
TmTcSender,
|
TmTcSender,
|
||||||
EcssTcInMemConverterWrapper,
|
EcssTcCacher,
|
||||||
VerificationReporter,
|
VerificationReporter,
|
||||||
>,
|
>,
|
||||||
request_converter: RequestConverter,
|
request_converter: RequestConverter,
|
||||||
|
@@ -8,8 +8,8 @@ use crate::requests::GenericRequestRouter;
|
|||||||
use crate::tmtc::sender::TmTcSender;
|
use crate::tmtc::sender::TmTcSender;
|
||||||
use satrs::pus::verification::VerificationReporter;
|
use satrs::pus::verification::VerificationReporter;
|
||||||
use satrs::pus::{
|
use satrs::pus::{
|
||||||
DefaultActiveRequestMap, EcssTcAndToken, EcssTcInMemConverterWrapper, MpscTcReceiver,
|
DefaultActiveRequestMap, EcssTcAndToken, EcssTcCacher, MpscTcReceiver, PusPacketHandlingError,
|
||||||
PusPacketHandlingError, PusServiceHelper,
|
PusServiceHelper,
|
||||||
};
|
};
|
||||||
use satrs::request::GenericMessage;
|
use satrs::request::GenericMessage;
|
||||||
use satrs::{
|
use satrs::{
|
||||||
@@ -210,7 +210,7 @@ impl PusTcToRequestConverter<ActivePusRequestStd, ModeRequest> for ModeRequestCo
|
|||||||
|
|
||||||
pub fn create_mode_service(
|
pub fn create_mode_service(
|
||||||
tm_sender: TmTcSender,
|
tm_sender: TmTcSender,
|
||||||
tc_in_mem_converter: EcssTcInMemConverterWrapper,
|
tc_in_mem_converter: EcssTcCacher,
|
||||||
pus_action_rx: mpsc::Receiver<EcssTcAndToken>,
|
pus_action_rx: mpsc::Receiver<EcssTcAndToken>,
|
||||||
mode_router: GenericRequestRouter,
|
mode_router: GenericRequestRouter,
|
||||||
reply_receiver: mpsc::Receiver<GenericMessage<ModeReply>>,
|
reply_receiver: mpsc::Receiver<GenericMessage<ModeReply>>,
|
||||||
|
@@ -9,7 +9,7 @@ use satrs::pus::scheduler::{PusScheduler, TcInfo};
|
|||||||
use satrs::pus::scheduler_srv::PusSchedServiceHandler;
|
use satrs::pus::scheduler_srv::PusSchedServiceHandler;
|
||||||
use satrs::pus::verification::VerificationReporter;
|
use satrs::pus::verification::VerificationReporter;
|
||||||
use satrs::pus::{
|
use satrs::pus::{
|
||||||
DirectPusPacketHandlerResult, EcssTcAndToken, EcssTcInMemConverterWrapper, MpscTcReceiver,
|
DirectPusPacketHandlerResult, EcssTcAndToken, EcssTcCacher, MpscTcReceiver,
|
||||||
PartialPusHandlingError, PusServiceHelper,
|
PartialPusHandlingError, PusServiceHelper,
|
||||||
};
|
};
|
||||||
use satrs::spacepackets::ecss::PusServiceId;
|
use satrs::spacepackets::ecss::PusServiceId;
|
||||||
@@ -84,7 +84,7 @@ pub struct SchedulingServiceWrapper {
|
|||||||
pub pus_11_handler: PusSchedServiceHandler<
|
pub pus_11_handler: PusSchedServiceHandler<
|
||||||
MpscTcReceiver,
|
MpscTcReceiver,
|
||||||
TmTcSender,
|
TmTcSender,
|
||||||
EcssTcInMemConverterWrapper,
|
EcssTcCacher,
|
||||||
VerificationReporter,
|
VerificationReporter,
|
||||||
PusScheduler,
|
PusScheduler,
|
||||||
>,
|
>,
|
||||||
@@ -174,7 +174,7 @@ impl SchedulingServiceWrapper {
|
|||||||
|
|
||||||
pub fn create_scheduler_service(
|
pub fn create_scheduler_service(
|
||||||
tm_sender: TmTcSender,
|
tm_sender: TmTcSender,
|
||||||
tc_in_mem_converter: EcssTcInMemConverterWrapper,
|
tc_in_mem_converter: EcssTcCacher,
|
||||||
tc_releaser: TcReleaser,
|
tc_releaser: TcReleaser,
|
||||||
pus_sched_rx: mpsc::Receiver<EcssTcAndToken>,
|
pus_sched_rx: mpsc::Receiver<EcssTcAndToken>,
|
||||||
sched_tc_pool: StaticMemoryPool,
|
sched_tc_pool: StaticMemoryPool,
|
||||||
|
@@ -6,8 +6,8 @@ use satrs::pus::test::PusService17TestHandler;
|
|||||||
use satrs::pus::verification::{FailParams, VerificationReporter, VerificationReportingProvider};
|
use satrs::pus::verification::{FailParams, VerificationReporter, VerificationReportingProvider};
|
||||||
use satrs::pus::PartialPusHandlingError;
|
use satrs::pus::PartialPusHandlingError;
|
||||||
use satrs::pus::{
|
use satrs::pus::{
|
||||||
CacheAndReadRawEcssTc, DirectPusPacketHandlerResult, EcssTcAndToken,
|
CacheAndReadRawEcssTc, DirectPusPacketHandlerResult, EcssTcAndToken, EcssTcCacher,
|
||||||
EcssTcInMemConverterWrapper, MpscTcReceiver, PusServiceHelper,
|
MpscTcReceiver, PusServiceHelper,
|
||||||
};
|
};
|
||||||
use satrs::spacepackets::ecss::tc::PusTcReader;
|
use satrs::spacepackets::ecss::tc::PusTcReader;
|
||||||
use satrs::spacepackets::ecss::{PusPacket, PusServiceId};
|
use satrs::spacepackets::ecss::{PusPacket, PusServiceId};
|
||||||
@@ -19,7 +19,7 @@ use super::{DirectPusService, HandlingStatus};
|
|||||||
|
|
||||||
pub fn create_test_service(
|
pub fn create_test_service(
|
||||||
tm_sender: TmTcSender,
|
tm_sender: TmTcSender,
|
||||||
tc_in_mem_converter: EcssTcInMemConverterWrapper,
|
tc_in_mem_converter: EcssTcCacher,
|
||||||
event_sender: mpsc::SyncSender<EventMessageU32>,
|
event_sender: mpsc::SyncSender<EventMessageU32>,
|
||||||
pus_test_rx: mpsc::Receiver<EcssTcAndToken>,
|
pus_test_rx: mpsc::Receiver<EcssTcAndToken>,
|
||||||
) -> TestCustomServiceWrapper {
|
) -> TestCustomServiceWrapper {
|
||||||
@@ -37,12 +37,8 @@ pub fn create_test_service(
|
|||||||
}
|
}
|
||||||
|
|
||||||
pub struct TestCustomServiceWrapper {
|
pub struct TestCustomServiceWrapper {
|
||||||
pub handler: PusService17TestHandler<
|
pub handler:
|
||||||
MpscTcReceiver,
|
PusService17TestHandler<MpscTcReceiver, TmTcSender, EcssTcCacher, VerificationReporter>,
|
||||||
TmTcSender,
|
|
||||||
EcssTcInMemConverterWrapper,
|
|
||||||
VerificationReporter,
|
|
||||||
>,
|
|
||||||
pub event_tx: mpsc::SyncSender<EventMessageU32>,
|
pub event_tx: mpsc::SyncSender<EventMessageU32>,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -167,7 +167,7 @@ mod tests {
|
|||||||
use crate::{
|
use crate::{
|
||||||
events::EventU32,
|
events::EventU32,
|
||||||
pus::{
|
pus::{
|
||||||
DirectPusPacketHandlerResult, EcssTcInSharedPoolConverter, PusPacketHandlingError,
|
DirectPusPacketHandlerResult, EcssTcInSharedPoolCacher, PusPacketHandlingError,
|
||||||
event_man::EventRequestWithToken,
|
event_man::EventRequestWithToken,
|
||||||
tests::PusServiceHandlerWithSharedStoreCommon,
|
tests::PusServiceHandlerWithSharedStoreCommon,
|
||||||
verification::{TcStateAccepted, VerificationToken},
|
verification::{TcStateAccepted, VerificationToken},
|
||||||
@@ -183,7 +183,7 @@ mod tests {
|
|||||||
handler: PusEventServiceHandler<
|
handler: PusEventServiceHandler<
|
||||||
MpscTcReceiver,
|
MpscTcReceiver,
|
||||||
PacketSenderWithSharedPool,
|
PacketSenderWithSharedPool,
|
||||||
EcssTcInSharedPoolConverter,
|
EcssTcInSharedPoolCacher,
|
||||||
VerificationReporter,
|
VerificationReporter,
|
||||||
>,
|
>,
|
||||||
}
|
}
|
||||||
|
@@ -973,12 +973,12 @@ pub mod std_mod {
|
|||||||
/// Please note that this structure is not able to convert TCs which are stored inside a
|
/// Please note that this structure is not able to convert TCs which are stored inside a
|
||||||
/// [SharedStaticMemoryPool].
|
/// [SharedStaticMemoryPool].
|
||||||
#[derive(Default, Clone)]
|
#[derive(Default, Clone)]
|
||||||
pub struct EcssTcInVecConverter {
|
pub struct EcssTcVecCacher {
|
||||||
sender_id: Option<ComponentId>,
|
sender_id: Option<ComponentId>,
|
||||||
pub pus_tc_raw: Option<Vec<u8>>,
|
pub pus_tc_raw: Option<Vec<u8>>,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl CacheAndReadRawEcssTc for EcssTcInVecConverter {
|
impl CacheAndReadRawEcssTc for EcssTcVecCacher {
|
||||||
fn cache(&mut self, tc_in_memory: &TcInMemory) -> Result<(), PusTcFromMemError> {
|
fn cache(&mut self, tc_in_memory: &TcInMemory) -> Result<(), PusTcFromMemError> {
|
||||||
self.pus_tc_raw = None;
|
self.pus_tc_raw = None;
|
||||||
match tc_in_memory {
|
match tc_in_memory {
|
||||||
@@ -1010,13 +1010,13 @@ pub mod std_mod {
|
|||||||
/// packets should be avoided. Please note that this structure is not able to convert TCs which
|
/// packets should be avoided. Please note that this structure is not able to convert TCs which
|
||||||
/// are stored as a `Vec<u8>`.
|
/// are stored as a `Vec<u8>`.
|
||||||
#[derive(Clone)]
|
#[derive(Clone)]
|
||||||
pub struct EcssTcInSharedPoolConverter {
|
pub struct EcssTcInSharedPoolCacher {
|
||||||
sender_id: Option<ComponentId>,
|
sender_id: Option<ComponentId>,
|
||||||
shared_tc_pool: SharedStaticMemoryPool,
|
shared_tc_pool: SharedStaticMemoryPool,
|
||||||
pus_buf: Vec<u8>,
|
pus_buf: Vec<u8>,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl EcssTcInSharedPoolConverter {
|
impl EcssTcInSharedPoolCacher {
|
||||||
pub fn new(shared_tc_store: SharedStaticMemoryPool, max_expected_tc_size: usize) -> Self {
|
pub fn new(shared_tc_store: SharedStaticMemoryPool, max_expected_tc_size: usize) -> Self {
|
||||||
Self {
|
Self {
|
||||||
sender_id: None,
|
sender_id: None,
|
||||||
@@ -1047,7 +1047,7 @@ pub mod std_mod {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl CacheAndReadRawEcssTc for EcssTcInSharedPoolConverter {
|
impl CacheAndReadRawEcssTc for EcssTcInSharedPoolCacher {
|
||||||
fn cache(&mut self, tc_in_memory: &TcInMemory) -> Result<(), PusTcFromMemError> {
|
fn cache(&mut self, tc_in_memory: &TcInMemory) -> Result<(), PusTcFromMemError> {
|
||||||
match tc_in_memory {
|
match tc_in_memory {
|
||||||
super::TcInMemory::Pool(packet_in_pool) => {
|
super::TcInMemory::Pool(packet_in_pool) => {
|
||||||
@@ -1072,22 +1072,22 @@ pub mod std_mod {
|
|||||||
|
|
||||||
// TODO: alloc feature flag?
|
// TODO: alloc feature flag?
|
||||||
#[derive(Clone)]
|
#[derive(Clone)]
|
||||||
pub enum EcssTcInMemConverterWrapper {
|
pub enum EcssTcCacher {
|
||||||
Static(EcssTcInSharedPoolConverter),
|
Static(EcssTcInSharedPoolCacher),
|
||||||
Heap(EcssTcInVecConverter),
|
Heap(EcssTcVecCacher),
|
||||||
}
|
}
|
||||||
|
|
||||||
impl EcssTcInMemConverterWrapper {
|
impl EcssTcCacher {
|
||||||
pub fn new_static(static_store_converter: EcssTcInSharedPoolConverter) -> Self {
|
pub fn new_static(static_store_converter: EcssTcInSharedPoolCacher) -> Self {
|
||||||
Self::Static(static_store_converter)
|
Self::Static(static_store_converter)
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn new_heap(heap_converter: EcssTcInVecConverter) -> Self {
|
pub fn new_heap(heap_converter: EcssTcVecCacher) -> Self {
|
||||||
Self::Heap(heap_converter)
|
Self::Heap(heap_converter)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl CacheAndReadRawEcssTc for EcssTcInMemConverterWrapper {
|
impl CacheAndReadRawEcssTc for EcssTcCacher {
|
||||||
fn cache(&mut self, tc_in_memory: &TcInMemory) -> Result<(), PusTcFromMemError> {
|
fn cache(&mut self, tc_in_memory: &TcInMemory) -> Result<(), PusTcFromMemError> {
|
||||||
match self {
|
match self {
|
||||||
Self::Static(converter) => converter.cache(tc_in_memory),
|
Self::Static(converter) => converter.cache(tc_in_memory),
|
||||||
@@ -1385,7 +1385,7 @@ pub mod tests {
|
|||||||
pub type PusServiceHelperStatic = PusServiceHelper<
|
pub type PusServiceHelperStatic = PusServiceHelper<
|
||||||
MpscTcReceiver,
|
MpscTcReceiver,
|
||||||
PacketSenderWithSharedPool,
|
PacketSenderWithSharedPool,
|
||||||
EcssTcInSharedPoolConverter,
|
EcssTcInSharedPoolCacher,
|
||||||
VerificationReporter,
|
VerificationReporter,
|
||||||
>;
|
>;
|
||||||
|
|
||||||
@@ -1412,7 +1412,7 @@ pub mod tests {
|
|||||||
VerificationReporter::new(TEST_COMPONENT_ID_0.id(), &verif_cfg);
|
VerificationReporter::new(TEST_COMPONENT_ID_0.id(), &verif_cfg);
|
||||||
let test_srv_tm_sender =
|
let test_srv_tm_sender =
|
||||||
PacketSenderWithSharedPool::new(tm_tx, shared_tm_pool_wrapper.clone());
|
PacketSenderWithSharedPool::new(tm_tx, shared_tm_pool_wrapper.clone());
|
||||||
let in_store_converter = EcssTcInSharedPoolConverter::new(shared_tc_pool.clone(), 2048);
|
let in_store_converter = EcssTcInSharedPoolCacher::new(shared_tc_pool.clone(), 2048);
|
||||||
(
|
(
|
||||||
Self {
|
Self {
|
||||||
pus_buf: RefCell::new([0; 2048]),
|
pus_buf: RefCell::new([0; 2048]),
|
||||||
@@ -1490,12 +1490,8 @@ pub mod tests {
|
|||||||
tc_sender: mpsc::Sender<EcssTcAndToken>,
|
tc_sender: mpsc::Sender<EcssTcAndToken>,
|
||||||
tm_receiver: mpsc::Receiver<PacketAsVec>,
|
tm_receiver: mpsc::Receiver<PacketAsVec>,
|
||||||
}
|
}
|
||||||
pub type PusServiceHelperDynamic = PusServiceHelper<
|
pub type PusServiceHelperDynamic =
|
||||||
MpscTcReceiver,
|
PusServiceHelper<MpscTcReceiver, MpscTmAsVecSender, EcssTcVecCacher, VerificationReporter>;
|
||||||
MpscTmAsVecSender,
|
|
||||||
EcssTcInVecConverter,
|
|
||||||
VerificationReporter,
|
|
||||||
>;
|
|
||||||
|
|
||||||
impl PusServiceHandlerWithVecCommon {
|
impl PusServiceHandlerWithVecCommon {
|
||||||
pub fn new_with_standard_verif_reporter(
|
pub fn new_with_standard_verif_reporter(
|
||||||
@@ -1507,7 +1503,7 @@ pub mod tests {
|
|||||||
let verif_cfg = VerificationReporterConfig::new(TEST_APID, 1, 2, 8).unwrap();
|
let verif_cfg = VerificationReporterConfig::new(TEST_APID, 1, 2, 8).unwrap();
|
||||||
let verification_handler =
|
let verification_handler =
|
||||||
VerificationReporter::new(TEST_COMPONENT_ID_0.id(), &verif_cfg);
|
VerificationReporter::new(TEST_COMPONENT_ID_0.id(), &verif_cfg);
|
||||||
let in_store_converter = EcssTcInVecConverter::default();
|
let in_store_converter = EcssTcVecCacher::default();
|
||||||
(
|
(
|
||||||
Self {
|
Self {
|
||||||
current_tm: None,
|
current_tm: None,
|
||||||
@@ -1533,14 +1529,14 @@ pub mod tests {
|
|||||||
PusServiceHelper<
|
PusServiceHelper<
|
||||||
MpscTcReceiver,
|
MpscTcReceiver,
|
||||||
MpscTmAsVecSender,
|
MpscTmAsVecSender,
|
||||||
EcssTcInVecConverter,
|
EcssTcVecCacher,
|
||||||
TestVerificationReporter,
|
TestVerificationReporter,
|
||||||
>,
|
>,
|
||||||
) {
|
) {
|
||||||
let (test_srv_tc_tx, test_srv_tc_rx) = mpsc::channel();
|
let (test_srv_tc_tx, test_srv_tc_rx) = mpsc::channel();
|
||||||
let (tm_tx, tm_rx) = mpsc::channel();
|
let (tm_tx, tm_rx) = mpsc::channel();
|
||||||
|
|
||||||
let in_store_converter = EcssTcInVecConverter::default();
|
let in_store_converter = EcssTcVecCacher::default();
|
||||||
let verification_handler = TestVerificationReporter::new(id);
|
let verification_handler = TestVerificationReporter::new(id);
|
||||||
(
|
(
|
||||||
Self {
|
Self {
|
||||||
|
@@ -1,9 +1,9 @@
|
|||||||
use super::scheduler::PusSchedulerProvider;
|
use super::scheduler::PusSchedulerProvider;
|
||||||
use super::verification::{VerificationReporter, VerificationReportingProvider};
|
use super::verification::{VerificationReporter, VerificationReportingProvider};
|
||||||
use super::{
|
use super::{
|
||||||
CacheAndReadRawEcssTc, DirectPusPacketHandlerResult, EcssTcInSharedPoolConverter,
|
CacheAndReadRawEcssTc, DirectPusPacketHandlerResult, EcssTcInSharedPoolCacher, EcssTcReceiver,
|
||||||
EcssTcInVecConverter, EcssTcReceiver, EcssTmSender, HandlingStatus, MpscTcReceiver,
|
EcssTcVecCacher, EcssTmSender, HandlingStatus, MpscTcReceiver, PartialPusHandlingError,
|
||||||
PartialPusHandlingError, PusServiceHelper,
|
PusServiceHelper,
|
||||||
};
|
};
|
||||||
use crate::pool::PoolProvider;
|
use crate::pool::PoolProvider;
|
||||||
use crate::pus::PusPacketHandlingError;
|
use crate::pus::PusPacketHandlingError;
|
||||||
@@ -213,7 +213,7 @@ impl<
|
|||||||
pub type PusService11SchedHandlerDynWithMpsc<PusScheduler> = PusSchedServiceHandler<
|
pub type PusService11SchedHandlerDynWithMpsc<PusScheduler> = PusSchedServiceHandler<
|
||||||
MpscTcReceiver,
|
MpscTcReceiver,
|
||||||
mpsc::Sender<PacketAsVec>,
|
mpsc::Sender<PacketAsVec>,
|
||||||
EcssTcInVecConverter,
|
EcssTcVecCacher,
|
||||||
VerificationReporter,
|
VerificationReporter,
|
||||||
PusScheduler,
|
PusScheduler,
|
||||||
>;
|
>;
|
||||||
@@ -222,7 +222,7 @@ pub type PusService11SchedHandlerDynWithMpsc<PusScheduler> = PusSchedServiceHand
|
|||||||
pub type PusService11SchedHandlerDynWithBoundedMpsc<PusScheduler> = PusSchedServiceHandler<
|
pub type PusService11SchedHandlerDynWithBoundedMpsc<PusScheduler> = PusSchedServiceHandler<
|
||||||
MpscTcReceiver,
|
MpscTcReceiver,
|
||||||
mpsc::SyncSender<PacketAsVec>,
|
mpsc::SyncSender<PacketAsVec>,
|
||||||
EcssTcInVecConverter,
|
EcssTcVecCacher,
|
||||||
VerificationReporter,
|
VerificationReporter,
|
||||||
PusScheduler,
|
PusScheduler,
|
||||||
>;
|
>;
|
||||||
@@ -231,7 +231,7 @@ pub type PusService11SchedHandlerDynWithBoundedMpsc<PusScheduler> = PusSchedServ
|
|||||||
pub type PusService11SchedHandlerStaticWithMpsc<PusScheduler> = PusSchedServiceHandler<
|
pub type PusService11SchedHandlerStaticWithMpsc<PusScheduler> = PusSchedServiceHandler<
|
||||||
MpscTcReceiver,
|
MpscTcReceiver,
|
||||||
PacketSenderWithSharedPool,
|
PacketSenderWithSharedPool,
|
||||||
EcssTcInSharedPoolConverter,
|
EcssTcInSharedPoolCacher,
|
||||||
VerificationReporter,
|
VerificationReporter,
|
||||||
PusScheduler,
|
PusScheduler,
|
||||||
>;
|
>;
|
||||||
@@ -240,7 +240,7 @@ pub type PusService11SchedHandlerStaticWithMpsc<PusScheduler> = PusSchedServiceH
|
|||||||
pub type PusService11SchedHandlerStaticWithBoundedMpsc<PusScheduler> = PusSchedServiceHandler<
|
pub type PusService11SchedHandlerStaticWithBoundedMpsc<PusScheduler> = PusSchedServiceHandler<
|
||||||
MpscTcReceiver,
|
MpscTcReceiver,
|
||||||
PacketSenderWithSharedPool,
|
PacketSenderWithSharedPool,
|
||||||
EcssTcInSharedPoolConverter,
|
EcssTcInSharedPoolCacher,
|
||||||
VerificationReporter,
|
VerificationReporter,
|
||||||
PusScheduler,
|
PusScheduler,
|
||||||
>;
|
>;
|
||||||
@@ -253,7 +253,7 @@ mod tests {
|
|||||||
|
|
||||||
use crate::pus::{DirectPusPacketHandlerResult, MpscTcReceiver, PusPacketHandlingError};
|
use crate::pus::{DirectPusPacketHandlerResult, MpscTcReceiver, PusPacketHandlingError};
|
||||||
use crate::pus::{
|
use crate::pus::{
|
||||||
EcssTcInSharedPoolConverter,
|
EcssTcInSharedPoolCacher,
|
||||||
scheduler::{self, PusSchedulerProvider, TcInfo},
|
scheduler::{self, PusSchedulerProvider, TcInfo},
|
||||||
tests::PusServiceHandlerWithSharedStoreCommon,
|
tests::PusServiceHandlerWithSharedStoreCommon,
|
||||||
verification::{RequestId, TcStateAccepted, VerificationToken},
|
verification::{RequestId, TcStateAccepted, VerificationToken},
|
||||||
@@ -278,7 +278,7 @@ mod tests {
|
|||||||
handler: PusSchedServiceHandler<
|
handler: PusSchedServiceHandler<
|
||||||
MpscTcReceiver,
|
MpscTcReceiver,
|
||||||
PacketSenderWithSharedPool,
|
PacketSenderWithSharedPool,
|
||||||
EcssTcInSharedPoolConverter,
|
EcssTcInSharedPoolCacher,
|
||||||
VerificationReporter,
|
VerificationReporter,
|
||||||
TestScheduler,
|
TestScheduler,
|
||||||
>,
|
>,
|
||||||
|
@@ -9,8 +9,8 @@ use std::sync::mpsc;
|
|||||||
|
|
||||||
use super::verification::{VerificationReporter, VerificationReportingProvider};
|
use super::verification::{VerificationReporter, VerificationReportingProvider};
|
||||||
use super::{
|
use super::{
|
||||||
CacheAndReadRawEcssTc, EcssTcInSharedPoolConverter, EcssTcInVecConverter, EcssTcReceiver,
|
CacheAndReadRawEcssTc, EcssTcInSharedPoolCacher, EcssTcReceiver, EcssTcVecCacher, EcssTmSender,
|
||||||
EcssTmSender, GenericConversionError, HandlingStatus, MpscTcReceiver, PusServiceHelper,
|
GenericConversionError, HandlingStatus, MpscTcReceiver, PusServiceHelper,
|
||||||
};
|
};
|
||||||
|
|
||||||
/// This is a helper class for [std] environments to handle generic PUS 17 (test service) packets.
|
/// This is a helper class for [std] environments to handle generic PUS 17 (test service) packets.
|
||||||
@@ -111,7 +111,7 @@ impl<
|
|||||||
pub type PusService17TestHandlerDynWithMpsc = PusService17TestHandler<
|
pub type PusService17TestHandlerDynWithMpsc = PusService17TestHandler<
|
||||||
MpscTcReceiver,
|
MpscTcReceiver,
|
||||||
mpsc::Sender<PacketAsVec>,
|
mpsc::Sender<PacketAsVec>,
|
||||||
EcssTcInVecConverter,
|
EcssTcVecCacher,
|
||||||
VerificationReporter,
|
VerificationReporter,
|
||||||
>;
|
>;
|
||||||
/// Helper type definition for a PUS 17 handler with a dynamic TMTC memory backend and bounded MPSC
|
/// Helper type definition for a PUS 17 handler with a dynamic TMTC memory backend and bounded MPSC
|
||||||
@@ -119,7 +119,7 @@ pub type PusService17TestHandlerDynWithMpsc = PusService17TestHandler<
|
|||||||
pub type PusService17TestHandlerDynWithBoundedMpsc = PusService17TestHandler<
|
pub type PusService17TestHandlerDynWithBoundedMpsc = PusService17TestHandler<
|
||||||
MpscTcReceiver,
|
MpscTcReceiver,
|
||||||
mpsc::SyncSender<PacketAsVec>,
|
mpsc::SyncSender<PacketAsVec>,
|
||||||
EcssTcInVecConverter,
|
EcssTcVecCacher,
|
||||||
VerificationReporter,
|
VerificationReporter,
|
||||||
>;
|
>;
|
||||||
/// Helper type definition for a PUS 17 handler with a shared store TMTC memory backend and bounded
|
/// Helper type definition for a PUS 17 handler with a shared store TMTC memory backend and bounded
|
||||||
@@ -127,7 +127,7 @@ pub type PusService17TestHandlerDynWithBoundedMpsc = PusService17TestHandler<
|
|||||||
pub type PusService17TestHandlerStaticWithBoundedMpsc = PusService17TestHandler<
|
pub type PusService17TestHandlerStaticWithBoundedMpsc = PusService17TestHandler<
|
||||||
MpscTcReceiver,
|
MpscTcReceiver,
|
||||||
PacketSenderWithSharedPool,
|
PacketSenderWithSharedPool,
|
||||||
EcssTcInSharedPoolConverter,
|
EcssTcInSharedPoolCacher,
|
||||||
VerificationReporter,
|
VerificationReporter,
|
||||||
>;
|
>;
|
||||||
|
|
||||||
@@ -143,7 +143,7 @@ mod tests {
|
|||||||
};
|
};
|
||||||
use crate::pus::verification::{TcStateAccepted, VerificationToken};
|
use crate::pus::verification::{TcStateAccepted, VerificationToken};
|
||||||
use crate::pus::{
|
use crate::pus::{
|
||||||
DirectPusPacketHandlerResult, EcssTcInSharedPoolConverter, EcssTcInVecConverter,
|
DirectPusPacketHandlerResult, EcssTcInSharedPoolCacher, EcssTcVecCacher,
|
||||||
GenericConversionError, HandlingStatus, MpscTcReceiver, MpscTmAsVecSender,
|
GenericConversionError, HandlingStatus, MpscTcReceiver, MpscTmAsVecSender,
|
||||||
PartialPusHandlingError, PusPacketHandlingError,
|
PartialPusHandlingError, PusPacketHandlingError,
|
||||||
};
|
};
|
||||||
@@ -162,7 +162,7 @@ mod tests {
|
|||||||
handler: PusService17TestHandler<
|
handler: PusService17TestHandler<
|
||||||
MpscTcReceiver,
|
MpscTcReceiver,
|
||||||
PacketSenderWithSharedPool,
|
PacketSenderWithSharedPool,
|
||||||
EcssTcInSharedPoolConverter,
|
EcssTcInSharedPoolCacher,
|
||||||
VerificationReporter,
|
VerificationReporter,
|
||||||
>,
|
>,
|
||||||
}
|
}
|
||||||
@@ -224,7 +224,7 @@ mod tests {
|
|||||||
handler: PusService17TestHandler<
|
handler: PusService17TestHandler<
|
||||||
MpscTcReceiver,
|
MpscTcReceiver,
|
||||||
MpscTmAsVecSender,
|
MpscTmAsVecSender,
|
||||||
EcssTcInVecConverter,
|
EcssTcVecCacher,
|
||||||
VerificationReporter,
|
VerificationReporter,
|
||||||
>,
|
>,
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user