pnp-software / cordetfw

C Implementation of a Software Framework for Service-Oriented Applications with PUS Support
Mozilla Public License 2.0
13 stars 1 forks source link

Implementation of Progress Action of TC(3,3) #100

Closed pasetti closed 5 years ago

pasetti commented 6 years ago

Command (3,3) clears the entries of one or more SIDs from the RDL. The command carries N parameters representing the SIDs to be cleared. The command's Start Action checks these N SIDs and identifies those which are present in the RDL and which are disabled. The command's Progress Action removes from the RDL the SIDs which have been validated by the Start Action (i.e. those which are present in the RDL and are disabled).

The Progress Action of command (3,3) is implemented in function CrPsHkDeleteCmdProgressAction. This function goes through the list of SIDs carried by the command, identifies those which are present in the RDL and are disabled and then removes them from the RDL. This means that the Progress Action repeats the same actions as already done by the Start Action! This is somewhat wasteful...

A more efficient implementation would be one where the Start Action marks the slots in the RDL which contain the SIDs to be cleared and then the Progress Action simply clears the SIDs in these slots.

pasetti commented 6 years ago

As discussed during today's teleconference, I have done the following:

I have also taken this opportunity to modify the logic of the Start Action of TC(3,3) such that we cannot ever have a situation where two TM(1,4) are generated for the same invalid SID.

pasetti commented 5 years ago

This issue has become obsolete further to the re-definition and re-implementation of service 3.