further tweaks for both CFDP handlers
This commit is contained in:
parent
b39e1c7e07
commit
60dcacf432
@ -23,7 +23,7 @@ cfdp::DestHandler::DestHandler(DestHandlerParams params, FsfwParams fsfwParams)
|
|||||||
transactionParams.pduConf.direction = cfdp::Direction::TOWARDS_SENDER;
|
transactionParams.pduConf.direction = cfdp::Direction::TOWARDS_SENDER;
|
||||||
}
|
}
|
||||||
|
|
||||||
const cfdp::DestHandler::FsmResult& cfdp::DestHandler::performStateMachine() {
|
const cfdp::DestHandler::FsmResult& cfdp::DestHandler::stateMachine() {
|
||||||
ReturnValue_t result;
|
ReturnValue_t result;
|
||||||
uint8_t errorIdx = 0;
|
uint8_t errorIdx = 0;
|
||||||
fsmRes.resetOfIteration();
|
fsmRes.resetOfIteration();
|
||||||
|
@ -92,7 +92,7 @@ class DestHandler {
|
|||||||
* - @c returnvalue::OK State machine OK for this execution cycle
|
* - @c returnvalue::OK State machine OK for this execution cycle
|
||||||
* - @c CALL_FSM_AGAIN State machine should be called again.
|
* - @c CALL_FSM_AGAIN State machine should be called again.
|
||||||
*/
|
*/
|
||||||
const FsmResult& performStateMachine();
|
const FsmResult& stateMachine();
|
||||||
void setMsgQueue(MessageQueueIF& queue);
|
void setMsgQueue(MessageQueueIF& queue);
|
||||||
void setEventReporter(EventReportingProxyIF& reporter);
|
void setEventReporter(EventReportingProxyIF& reporter);
|
||||||
|
|
||||||
|
@ -63,6 +63,7 @@ cfdp::SourceHandler::FsmResult& cfdp::SourceHandler::fsmNacked() {
|
|||||||
if (result != OK) {
|
if (result != OK) {
|
||||||
// TODO: Error handling
|
// TODO: Error handling
|
||||||
}
|
}
|
||||||
|
fsmResult.callStatus = CallStatus::CALL_AGAIN;
|
||||||
return fsmResult;
|
return fsmResult;
|
||||||
}
|
}
|
||||||
if (step == TransactionStep::SENDING_FILE_DATA) {
|
if (step == TransactionStep::SENDING_FILE_DATA) {
|
||||||
@ -72,6 +73,7 @@ cfdp::SourceHandler::FsmResult& cfdp::SourceHandler::fsmNacked() {
|
|||||||
// TODO: Error handling
|
// TODO: Error handling
|
||||||
}
|
}
|
||||||
if (!noFdPdu) {
|
if (!noFdPdu) {
|
||||||
|
fsmResult.callStatus = CallStatus::CALL_AGAIN;
|
||||||
return fsmResult;
|
return fsmResult;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -85,9 +87,12 @@ cfdp::SourceHandler::FsmResult& cfdp::SourceHandler::fsmNacked() {
|
|||||||
}
|
}
|
||||||
if (transactionParams.closureRequested) {
|
if (transactionParams.closureRequested) {
|
||||||
step = TransactionStep::WAIT_FOR_FINISH;
|
step = TransactionStep::WAIT_FOR_FINISH;
|
||||||
return fsmResult;
|
fsmResult.callStatus = CallStatus::CALL_AFTER_DELAY;
|
||||||
|
} else {
|
||||||
|
step = TransactionStep::NOTICE_OF_COMPLETION;
|
||||||
|
fsmResult.callStatus = CallStatus::CALL_AGAIN;
|
||||||
}
|
}
|
||||||
step = TransactionStep::NOTICE_OF_COMPLETION;
|
return fsmResult;
|
||||||
}
|
}
|
||||||
if (step == TransactionStep::WAIT_FOR_FINISH) {
|
if (step == TransactionStep::WAIT_FOR_FINISH) {
|
||||||
// TODO: In case this is a request with closure, wait for finish.
|
// TODO: In case this is a request with closure, wait for finish.
|
||||||
@ -101,9 +106,10 @@ cfdp::SourceHandler::FsmResult& cfdp::SourceHandler::fsmNacked() {
|
|||||||
return fsmResult;
|
return fsmResult;
|
||||||
}
|
}
|
||||||
|
|
||||||
cfdp::SourceHandler::FsmResult& cfdp::SourceHandler::stateMachine() {
|
const cfdp::SourceHandler::FsmResult& cfdp::SourceHandler::stateMachine() {
|
||||||
fsmResult.packetsSent = 0;
|
fsmResult.packetsSent = 0;
|
||||||
fsmResult.errors = 0;
|
fsmResult.errors = 0;
|
||||||
|
fsmResult.callStatus = CallStatus::DONE;
|
||||||
if (state == cfdp::CfdpState::IDLE) {
|
if (state == cfdp::CfdpState::IDLE) {
|
||||||
return fsmResult;
|
return fsmResult;
|
||||||
}
|
}
|
||||||
@ -346,6 +352,7 @@ ReturnValue_t cfdp::SourceHandler::noticeOfCompletion() {
|
|||||||
ReturnValue_t cfdp::SourceHandler::reset() {
|
ReturnValue_t cfdp::SourceHandler::reset() {
|
||||||
step = TransactionStep::IDLE;
|
step = TransactionStep::IDLE;
|
||||||
state = cfdp::CfdpState::IDLE;
|
state = cfdp::CfdpState::IDLE;
|
||||||
|
fsmResult.callStatus = CallStatus::DONE;
|
||||||
transactionParams.reset();
|
transactionParams.reset();
|
||||||
return OK;
|
return OK;
|
||||||
}
|
}
|
||||||
|
@ -59,7 +59,7 @@ class SourceHandler {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
ReturnValue_t transactionStart(PutRequest& putRequest, RemoteEntityCfg& cfg);
|
ReturnValue_t transactionStart(PutRequest& putRequest, RemoteEntityCfg& cfg);
|
||||||
FsmResult& stateMachine();
|
const FsmResult& stateMachine();
|
||||||
|
|
||||||
ReturnValue_t initialize();
|
ReturnValue_t initialize();
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user