where to start and where to accept?
Some checks failed
Rust/sat-rs/pipeline/pr-main There was a failure building this commit
Some checks failed
Rust/sat-rs/pipeline/pr-main There was a failure building this commit
This commit is contained in:
parent
d5e61090fe
commit
6873a8f2a7
@ -119,6 +119,10 @@ fn static_tmtc_pool_main() {
|
|||||||
let (pus_sched_tx, pus_sched_rx) = channel();
|
let (pus_sched_tx, pus_sched_rx) = channel();
|
||||||
let (pus_hk_tx, pus_hk_rx) = channel();
|
let (pus_hk_tx, pus_hk_rx) = channel();
|
||||||
let (pus_action_tx, pus_action_rx) = channel();
|
let (pus_action_tx, pus_action_rx) = channel();
|
||||||
|
|
||||||
|
let (pus_action_reply_tx, pus_action_reply_rx) = channel();
|
||||||
|
let (pus_hk_reply_tx, pus_hk_reply_rx) = channel();
|
||||||
|
|
||||||
let pus_router = PusTcMpscRouter {
|
let pus_router = PusTcMpscRouter {
|
||||||
test_service_receiver: pus_test_tx,
|
test_service_receiver: pus_test_tx,
|
||||||
event_service_receiver: pus_event_tx,
|
event_service_receiver: pus_event_tx,
|
||||||
@ -157,6 +161,7 @@ fn static_tmtc_pool_main() {
|
|||||||
shared_tc_pool.pool.clone(),
|
shared_tc_pool.pool.clone(),
|
||||||
pus_action_rx,
|
pus_action_rx,
|
||||||
request_map.clone(),
|
request_map.clone(),
|
||||||
|
pus_action_reply_rx,
|
||||||
);
|
);
|
||||||
let pus_hk_service = create_hk_service_static(
|
let pus_hk_service = create_hk_service_static(
|
||||||
shared_tm_pool.clone(),
|
shared_tm_pool.clone(),
|
||||||
@ -165,6 +170,7 @@ fn static_tmtc_pool_main() {
|
|||||||
shared_tc_pool.pool.clone(),
|
shared_tc_pool.pool.clone(),
|
||||||
pus_hk_rx,
|
pus_hk_rx,
|
||||||
request_map,
|
request_map,
|
||||||
|
pus_hk_reply_rx
|
||||||
);
|
);
|
||||||
let mut pus_stack = PusStack::new(
|
let mut pus_stack = PusStack::new(
|
||||||
pus_hk_service,
|
pus_hk_service,
|
||||||
@ -340,6 +346,10 @@ fn dyn_tmtc_pool_main() {
|
|||||||
let (pus_sched_tx, pus_sched_rx) = channel();
|
let (pus_sched_tx, pus_sched_rx) = channel();
|
||||||
let (pus_hk_tx, pus_hk_rx) = channel();
|
let (pus_hk_tx, pus_hk_rx) = channel();
|
||||||
let (pus_action_tx, pus_action_rx) = channel();
|
let (pus_action_tx, pus_action_rx) = channel();
|
||||||
|
|
||||||
|
let (pus_action_reply_tx, pus_action_reply_rx) = channel();
|
||||||
|
let (pus_hk_reply_tx, pus_hk_reply_rx) = channel();
|
||||||
|
|
||||||
let pus_router = PusTcMpscRouter {
|
let pus_router = PusTcMpscRouter {
|
||||||
test_service_receiver: pus_test_tx,
|
test_service_receiver: pus_test_tx,
|
||||||
event_service_receiver: pus_event_tx,
|
event_service_receiver: pus_event_tx,
|
||||||
@ -373,12 +383,14 @@ fn dyn_tmtc_pool_main() {
|
|||||||
verif_reporter.clone(),
|
verif_reporter.clone(),
|
||||||
pus_action_rx,
|
pus_action_rx,
|
||||||
request_map.clone(),
|
request_map.clone(),
|
||||||
|
pus_action_reply_rx,
|
||||||
);
|
);
|
||||||
let pus_hk_service = create_hk_service_dynamic(
|
let pus_hk_service = create_hk_service_dynamic(
|
||||||
tm_funnel_tx.clone(),
|
tm_funnel_tx.clone(),
|
||||||
verif_reporter.clone(),
|
verif_reporter.clone(),
|
||||||
pus_hk_rx,
|
pus_hk_rx,
|
||||||
request_map,
|
request_map,
|
||||||
|
pus_hk_reply_rx
|
||||||
);
|
);
|
||||||
let mut pus_stack = PusStack::new(
|
let mut pus_stack = PusStack::new(
|
||||||
pus_hk_service,
|
pus_hk_service,
|
||||||
|
@ -3,8 +3,8 @@ use satrs::action::{ActionRequest, ActionRequestVariant};
|
|||||||
use satrs::params::WritableToBeBytes;
|
use satrs::params::WritableToBeBytes;
|
||||||
use satrs::pool::{SharedStaticMemoryPool, StoreAddr};
|
use satrs::pool::{SharedStaticMemoryPool, StoreAddr};
|
||||||
use satrs::pus::action::{
|
use satrs::pus::action::{
|
||||||
ActionReplyPus, ActionReplyPusWithActionId, ActionRequestWithId, ActionRequestorBoundedMpsc,
|
ActionReplyPus, ActionReplyPusWithActionId, ActionRequestWithId, ActivePusActionRequestStd,
|
||||||
ActionRequestorMpsc, ActivePusActionRequestStd, DefaultActiveActionRequestMap,
|
DefaultActiveActionRequestMap,
|
||||||
};
|
};
|
||||||
use satrs::pus::verification::{
|
use satrs::pus::verification::{
|
||||||
self, FailParams, FailParamsWithStep, TcStateAccepted,
|
self, FailParams, FailParamsWithStep, TcStateAccepted,
|
||||||
@ -18,7 +18,7 @@ use satrs::pus::{
|
|||||||
PusTcToRequestConverter, TmAsVecSenderWithId, TmAsVecSenderWithMpsc,
|
PusTcToRequestConverter, TmAsVecSenderWithId, TmAsVecSenderWithMpsc,
|
||||||
TmInSharedPoolSenderWithBoundedMpsc, TmInSharedPoolSenderWithId,
|
TmInSharedPoolSenderWithBoundedMpsc, TmInSharedPoolSenderWithId,
|
||||||
};
|
};
|
||||||
use satrs::request::{GenericMessage, MessageReceiver, MessageSender, TargetAndApidId};
|
use satrs::request::{GenericMessage, TargetAndApidId};
|
||||||
use satrs::spacepackets::ecss::tc::PusTcReader;
|
use satrs::spacepackets::ecss::tc::PusTcReader;
|
||||||
use satrs::spacepackets::ecss::{EcssEnumU16, PusPacket};
|
use satrs::spacepackets::ecss::{EcssEnumU16, PusPacket};
|
||||||
use satrs::tmtc::tm_helper::SharedTmPool;
|
use satrs::tmtc::tm_helper::SharedTmPool;
|
||||||
@ -200,13 +200,13 @@ pub fn create_action_service_static(
|
|||||||
verif_reporter: VerificationReporterWithSharedPoolMpscBoundedSender,
|
verif_reporter: VerificationReporterWithSharedPoolMpscBoundedSender,
|
||||||
tc_pool: SharedStaticMemoryPool,
|
tc_pool: SharedStaticMemoryPool,
|
||||||
pus_action_rx: mpsc::Receiver<EcssTcAndToken>,
|
pus_action_rx: mpsc::Receiver<EcssTcAndToken>,
|
||||||
action_router: ActionRequestorBoundedMpsc,
|
action_router: GenericRequestRouter,
|
||||||
|
reply_receiver: mpsc::Receiver<GenericMessage<ActionReplyPusWithActionId>>,
|
||||||
) -> Pus8Wrapper<
|
) -> Pus8Wrapper<
|
||||||
MpscTcReceiver,
|
MpscTcReceiver,
|
||||||
TmInSharedPoolSenderWithBoundedMpsc,
|
TmInSharedPoolSenderWithBoundedMpsc,
|
||||||
EcssTcInSharedStoreConverter,
|
EcssTcInSharedStoreConverter,
|
||||||
VerificationReporterWithSharedPoolMpscBoundedSender,
|
VerificationReporterWithSharedPoolMpscBoundedSender,
|
||||||
mpsc::SyncSender<GenericMessage<ActionRequest>>,
|
|
||||||
> {
|
> {
|
||||||
let action_srv_tm_sender = TmInSharedPoolSenderWithId::new(
|
let action_srv_tm_sender = TmInSharedPoolSenderWithId::new(
|
||||||
TmSenderId::PusAction as ChannelId,
|
TmSenderId::PusAction as ChannelId,
|
||||||
@ -233,6 +233,7 @@ pub fn create_action_service_static(
|
|||||||
DefaultActiveActionRequestMap::default(),
|
DefaultActiveActionRequestMap::default(),
|
||||||
ActionReplyHandler::default(),
|
ActionReplyHandler::default(),
|
||||||
action_router,
|
action_router,
|
||||||
|
reply_receiver,
|
||||||
);
|
);
|
||||||
Pus8Wrapper {
|
Pus8Wrapper {
|
||||||
action_request_handler,
|
action_request_handler,
|
||||||
@ -243,13 +244,13 @@ pub fn create_action_service_dynamic(
|
|||||||
tm_funnel_tx: mpsc::Sender<Vec<u8>>,
|
tm_funnel_tx: mpsc::Sender<Vec<u8>>,
|
||||||
verif_reporter: VerificationReporterWithVecMpscSender,
|
verif_reporter: VerificationReporterWithVecMpscSender,
|
||||||
pus_action_rx: mpsc::Receiver<EcssTcAndToken>,
|
pus_action_rx: mpsc::Receiver<EcssTcAndToken>,
|
||||||
action_router: ActionRequestorMpsc,
|
action_router: GenericRequestRouter,
|
||||||
|
reply_receiver: mpsc::Receiver<GenericMessage<ActionReplyPusWithActionId>>,
|
||||||
) -> Pus8Wrapper<
|
) -> Pus8Wrapper<
|
||||||
MpscTcReceiver,
|
MpscTcReceiver,
|
||||||
TmAsVecSenderWithMpsc,
|
TmAsVecSenderWithMpsc,
|
||||||
EcssTcInVecConverter,
|
EcssTcInVecConverter,
|
||||||
VerificationReporterWithVecMpscSender,
|
VerificationReporterWithVecMpscSender,
|
||||||
mpsc::Sender<GenericMessage<ActionRequest>>,
|
|
||||||
> {
|
> {
|
||||||
let action_srv_tm_sender = TmAsVecSenderWithId::new(
|
let action_srv_tm_sender = TmAsVecSenderWithId::new(
|
||||||
TmSenderId::PusAction as ChannelId,
|
TmSenderId::PusAction as ChannelId,
|
||||||
@ -273,6 +274,7 @@ pub fn create_action_service_dynamic(
|
|||||||
DefaultActiveActionRequestMap::default(),
|
DefaultActiveActionRequestMap::default(),
|
||||||
ActionReplyHandler::default(),
|
ActionReplyHandler::default(),
|
||||||
action_router,
|
action_router,
|
||||||
|
reply_receiver,
|
||||||
);
|
);
|
||||||
Pus8Wrapper {
|
Pus8Wrapper {
|
||||||
action_request_handler,
|
action_request_handler,
|
||||||
@ -284,7 +286,6 @@ pub struct Pus8Wrapper<
|
|||||||
TmSender: EcssTmSenderCore,
|
TmSender: EcssTmSenderCore,
|
||||||
TcInMemConverter: EcssTcInMemConverter,
|
TcInMemConverter: EcssTcInMemConverter,
|
||||||
VerificationReporter: VerificationReportingProvider,
|
VerificationReporter: VerificationReportingProvider,
|
||||||
RequestSender: MessageSender<ActionRequest>,
|
|
||||||
> {
|
> {
|
||||||
pub(crate) action_request_handler: PusTargetedRequestService<
|
pub(crate) action_request_handler: PusTargetedRequestService<
|
||||||
TcReceiver,
|
TcReceiver,
|
||||||
@ -295,8 +296,7 @@ pub struct Pus8Wrapper<
|
|||||||
ActionReplyHandler,
|
ActionReplyHandler,
|
||||||
DefaultActiveActionRequestMap,
|
DefaultActiveActionRequestMap,
|
||||||
ActivePusActionRequestStd,
|
ActivePusActionRequestStd,
|
||||||
RequestSender,
|
ActionRequestWithId,
|
||||||
ActionRequest,
|
|
||||||
ActionReplyPusWithActionId,
|
ActionReplyPusWithActionId,
|
||||||
>,
|
>,
|
||||||
}
|
}
|
||||||
@ -306,8 +306,7 @@ impl<
|
|||||||
TmSender: EcssTmSenderCore,
|
TmSender: EcssTmSenderCore,
|
||||||
TcInMemConverter: EcssTcInMemConverter,
|
TcInMemConverter: EcssTcInMemConverter,
|
||||||
VerificationReporter: VerificationReportingProvider,
|
VerificationReporter: VerificationReportingProvider,
|
||||||
RequestSender: MessageSender<ActionRequest>,
|
> Pus8Wrapper<TcReceiver, TmSender, TcInMemConverter, VerificationReporter>
|
||||||
> Pus8Wrapper<TcReceiver, TmSender, TcInMemConverter, VerificationReporter, RequestSender>
|
|
||||||
{
|
{
|
||||||
pub fn handle_next_packet(&mut self, time_stamp: &[u8]) -> bool {
|
pub fn handle_next_packet(&mut self, time_stamp: &[u8]) -> bool {
|
||||||
match self.action_request_handler.handle_one_tc(time_stamp) {
|
match self.action_request_handler.handle_one_tc(time_stamp) {
|
||||||
|
@ -13,7 +13,7 @@ use satrs::pus::{
|
|||||||
TmAsVecSenderWithId, TmAsVecSenderWithMpsc, TmInSharedPoolSenderWithBoundedMpsc,
|
TmAsVecSenderWithId, TmAsVecSenderWithMpsc, TmInSharedPoolSenderWithBoundedMpsc,
|
||||||
TmInSharedPoolSenderWithId,
|
TmInSharedPoolSenderWithId,
|
||||||
};
|
};
|
||||||
use satrs::request::TargetAndApidId;
|
use satrs::request::{TargetAndApidId, GenericMessage};
|
||||||
use satrs::spacepackets::ecss::tc::PusTcReader;
|
use satrs::spacepackets::ecss::tc::PusTcReader;
|
||||||
use satrs::spacepackets::ecss::{hk, PusPacket};
|
use satrs::spacepackets::ecss::{hk, PusPacket};
|
||||||
use satrs::tmtc::tm_helper::SharedTmPool;
|
use satrs::tmtc::tm_helper::SharedTmPool;
|
||||||
@ -212,6 +212,7 @@ pub fn create_hk_service_static(
|
|||||||
tc_pool: SharedStaticMemoryPool,
|
tc_pool: SharedStaticMemoryPool,
|
||||||
pus_hk_rx: mpsc::Receiver<EcssTcAndToken>,
|
pus_hk_rx: mpsc::Receiver<EcssTcAndToken>,
|
||||||
request_router: GenericRequestRouter,
|
request_router: GenericRequestRouter,
|
||||||
|
reply_receiver: mpsc::Receiver<GenericMessage<HkReply>>,
|
||||||
) -> Pus3Wrapper<
|
) -> Pus3Wrapper<
|
||||||
MpscTcReceiver,
|
MpscTcReceiver,
|
||||||
TmInSharedPoolSenderWithBoundedMpsc,
|
TmInSharedPoolSenderWithBoundedMpsc,
|
||||||
@ -235,9 +236,10 @@ pub fn create_hk_service_static(
|
|||||||
EcssTcInSharedStoreConverter::new(tc_pool, 2048),
|
EcssTcInSharedStoreConverter::new(tc_pool, 2048),
|
||||||
),
|
),
|
||||||
ExampleHkRequestConverter::default(),
|
ExampleHkRequestConverter::default(),
|
||||||
request_router,
|
|
||||||
DefaultActiveRequestMap::default(),
|
DefaultActiveRequestMap::default(),
|
||||||
HkReplyHandler::default(),
|
HkReplyHandler::default(),
|
||||||
|
request_router,
|
||||||
|
reply_receiver
|
||||||
);
|
);
|
||||||
Pus3Wrapper { pus_3_handler }
|
Pus3Wrapper { pus_3_handler }
|
||||||
}
|
}
|
||||||
@ -247,6 +249,7 @@ pub fn create_hk_service_dynamic(
|
|||||||
verif_reporter: VerificationReporterWithVecMpscSender,
|
verif_reporter: VerificationReporterWithVecMpscSender,
|
||||||
pus_hk_rx: mpsc::Receiver<EcssTcAndToken>,
|
pus_hk_rx: mpsc::Receiver<EcssTcAndToken>,
|
||||||
request_router: GenericRequestRouter,
|
request_router: GenericRequestRouter,
|
||||||
|
reply_receiver: mpsc::Receiver<GenericMessage<HkReply>>,
|
||||||
) -> Pus3Wrapper<
|
) -> Pus3Wrapper<
|
||||||
MpscTcReceiver,
|
MpscTcReceiver,
|
||||||
TmAsVecSenderWithMpsc,
|
TmAsVecSenderWithMpsc,
|
||||||
@ -269,9 +272,10 @@ pub fn create_hk_service_dynamic(
|
|||||||
EcssTcInVecConverter::default(),
|
EcssTcInVecConverter::default(),
|
||||||
),
|
),
|
||||||
ExampleHkRequestConverter::default(),
|
ExampleHkRequestConverter::default(),
|
||||||
request_router,
|
|
||||||
DefaultActiveRequestMap::default(),
|
DefaultActiveRequestMap::default(),
|
||||||
HkReplyHandler::default(),
|
HkReplyHandler::default(),
|
||||||
|
request_router,
|
||||||
|
reply_receiver
|
||||||
);
|
);
|
||||||
Pus3Wrapper { pus_3_handler }
|
Pus3Wrapper { pus_3_handler }
|
||||||
}
|
}
|
||||||
|
@ -9,6 +9,7 @@ use satrs::pus::{
|
|||||||
PusPacketHandlerResult, PusPacketHandlingError, PusReplyHandler, PusRequestRouter,
|
PusPacketHandlerResult, PusPacketHandlingError, PusReplyHandler, PusRequestRouter,
|
||||||
PusServiceHelper, PusTcToRequestConverter, TcInMemory,
|
PusServiceHelper, PusTcToRequestConverter, TcInMemory,
|
||||||
};
|
};
|
||||||
|
use satrs::queue::GenericReceiveError;
|
||||||
use satrs::request::{GenericMessage, MessageReceiver, MessageSender, MessageSenderAndReceiver};
|
use satrs::request::{GenericMessage, MessageReceiver, MessageSender, MessageSenderAndReceiver};
|
||||||
use satrs::spacepackets::ecss::tc::PusTcReader;
|
use satrs::spacepackets::ecss::tc::PusTcReader;
|
||||||
use satrs::spacepackets::ecss::PusServiceId;
|
use satrs::spacepackets::ecss::PusServiceId;
|
||||||
@ -87,18 +88,16 @@ pub struct PusTargetedRequestService<
|
|||||||
ReplyHandler: PusReplyHandler<ActiveRequestInfo, ReplyType, Error = EcssTmtcError>,
|
ReplyHandler: PusReplyHandler<ActiveRequestInfo, ReplyType, Error = EcssTmtcError>,
|
||||||
ActiveRequestMap: ActiveRequestMapProvider<ActiveRequestInfo>,
|
ActiveRequestMap: ActiveRequestMapProvider<ActiveRequestInfo>,
|
||||||
ActiveRequestInfo: ActiveRequestProvider,
|
ActiveRequestInfo: ActiveRequestProvider,
|
||||||
RequestSender: MessageSender<RequestType>,
|
RequestType,
|
||||||
RequestType: Send,
|
|
||||||
ReplyType,
|
ReplyType,
|
||||||
> {
|
> {
|
||||||
pub service_helper:
|
pub service_helper:
|
||||||
PusServiceHelper<TcReceiver, TmSender, TcInMemConverter, VerificationReporter>,
|
PusServiceHelper<TcReceiver, TmSender, TcInMemConverter, VerificationReporter>,
|
||||||
//pub request_router: GenericRequestRouter,
|
pub request_router: GenericRequestRouter,
|
||||||
pub request_converter: RequestConverter,
|
pub request_converter: RequestConverter,
|
||||||
pub active_request_map: ActiveRequestMap,
|
pub active_request_map: ActiveRequestMap,
|
||||||
pub request_router_reply_receiver:
|
|
||||||
MessageSenderAndReceiver<RequestType, ReplyType, RequestSender, mpsc::Receiver<ReplyType>>,
|
|
||||||
pub reply_handler: ReplyHandler,
|
pub reply_handler: ReplyHandler,
|
||||||
|
pub reply_receiver: mpsc::Receiver<GenericMessage<ReplyType>>,
|
||||||
phantom: std::marker::PhantomData<(RequestType, ActiveRequestInfo, ReplyType)>,
|
phantom: std::marker::PhantomData<(RequestType, ActiveRequestInfo, ReplyType)>,
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -111,8 +110,7 @@ impl<
|
|||||||
ReplyHandler: PusReplyHandler<ActiveRequestInfo, ReplyType, Error = EcssTmtcError>,
|
ReplyHandler: PusReplyHandler<ActiveRequestInfo, ReplyType, Error = EcssTmtcError>,
|
||||||
ActiveRequestMap: ActiveRequestMapProvider<ActiveRequestInfo>,
|
ActiveRequestMap: ActiveRequestMapProvider<ActiveRequestInfo>,
|
||||||
ActiveRequestInfo: ActiveRequestProvider,
|
ActiveRequestInfo: ActiveRequestProvider,
|
||||||
RequestSender: MessageSender<RequestType>,
|
RequestType,
|
||||||
RequestType: Send,
|
|
||||||
ReplyType,
|
ReplyType,
|
||||||
>
|
>
|
||||||
PusTargetedRequestService<
|
PusTargetedRequestService<
|
||||||
@ -124,7 +122,6 @@ impl<
|
|||||||
ReplyHandler,
|
ReplyHandler,
|
||||||
ActiveRequestMap,
|
ActiveRequestMap,
|
||||||
ActiveRequestInfo,
|
ActiveRequestInfo,
|
||||||
RequestSender,
|
|
||||||
RequestType,
|
RequestType,
|
||||||
ReplyType,
|
ReplyType,
|
||||||
>
|
>
|
||||||
@ -141,19 +138,16 @@ where
|
|||||||
request_converter: RequestConverter,
|
request_converter: RequestConverter,
|
||||||
active_request_map: ActiveRequestMap,
|
active_request_map: ActiveRequestMap,
|
||||||
reply_hook: ReplyHandler,
|
reply_hook: ReplyHandler,
|
||||||
request_router_reply_receiver: MessageSenderAndReceiver<
|
request_router: GenericRequestRouter,
|
||||||
RequestType,
|
reply_receiver: mpsc::Receiver<GenericMessage<ReplyType>>,
|
||||||
ReplyType,
|
|
||||||
RequestSender,
|
|
||||||
mpsc::Receiver<GenericMessage<ReplyType>>,
|
|
||||||
>,
|
|
||||||
) -> Self {
|
) -> Self {
|
||||||
Self {
|
Self {
|
||||||
service_helper,
|
service_helper,
|
||||||
request_converter,
|
request_converter,
|
||||||
active_request_map,
|
active_request_map,
|
||||||
reply_handler: reply_hook,
|
reply_handler: reply_hook,
|
||||||
request_router_reply_receiver,
|
request_router,
|
||||||
|
reply_receiver,
|
||||||
phantom: std::marker::PhantomData,
|
phantom: std::marker::PhantomData,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -178,18 +172,16 @@ where
|
|||||||
&self.service_helper.common.verification_handler,
|
&self.service_helper.common.verification_handler,
|
||||||
)?;
|
)?;
|
||||||
let verif_request_id = verification::RequestId::new(&tc);
|
let verif_request_id = verification::RequestId::new(&tc);
|
||||||
if let Err(e) = self
|
if let Err(e) =
|
||||||
.request_router_reply_receiver
|
self.request_router
|
||||||
.message_sender_map
|
.route(request_info.target_id(), request, request_info.token())
|
||||||
.send_message(request_id, local_channel_id, target_channel_id, request)
|
|
||||||
// .(request_info.target_id(), request, ecss_tc_and_token.token)
|
|
||||||
{
|
{
|
||||||
let target_id = request_info.target_id();
|
let target_id = request_info.target_id();
|
||||||
self.active_request_map
|
self.active_request_map
|
||||||
.insert(&verif_request_id.into(), request_info);
|
.insert(&verif_request_id.into(), request_info);
|
||||||
self.request_router.handle_error(
|
self.request_router.handle_error(
|
||||||
target_id,
|
target_id,
|
||||||
ecss_tc_and_token.token,
|
request_info.token(),
|
||||||
&tc,
|
&tc,
|
||||||
e.clone(),
|
e.clone(),
|
||||||
time_stamp,
|
time_stamp,
|
||||||
@ -200,7 +192,26 @@ where
|
|||||||
Ok(PusPacketHandlerResult::RequestHandled)
|
Ok(PusPacketHandlerResult::RequestHandled)
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn insert_reply(
|
pub fn check_one_reply(&mut self, time_stamp: &[u8]) -> Result<bool, EcssTmtcError> {
|
||||||
|
match self.reply_receiver.try_recv() {
|
||||||
|
Ok(reply) => {
|
||||||
|
self.handle_reply(&reply, time_stamp)?;
|
||||||
|
Ok(true)
|
||||||
|
}
|
||||||
|
Err(e) => match e {
|
||||||
|
mpsc::TryRecvError::Empty => {
|
||||||
|
return Ok(false);
|
||||||
|
}
|
||||||
|
mpsc::TryRecvError::Disconnected => {
|
||||||
|
return Err(EcssTmtcError::Receive(GenericReceiveError::TxDisconnected(
|
||||||
|
None,
|
||||||
|
)));
|
||||||
|
}
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn handle_reply(
|
||||||
&mut self,
|
&mut self,
|
||||||
reply: &GenericMessage<ReplyType>,
|
reply: &GenericMessage<ReplyType>,
|
||||||
time_stamp: &[u8],
|
time_stamp: &[u8],
|
||||||
|
Loading…
x
Reference in New Issue
Block a user