QueueMapManager #128
Labels
No Label
API Change
Breaking API Change
bug
build
cosmetics
Documentation
duplicate
feature
help wanted
hotfix
invalid
question
Refactor
Tests
wontfix
No Milestone
No Assignees
2 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: fsfw/fsfw#128
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
During a meeting, me and @gaisser were talking about message queues
and the problem that the message queue ID actually breaks layering.
I implemented a QueueMapManager for the host OSAL which is interesting for the FSFW in general because it propably breaks this layering if it is used by the MessageQueue implementations.
THe map manager implements the mapping from MessageQueueId to a message queue pointer.
This could be used to break this layering. CUrrently, the queue map manager uses a std::unordered_map, which in turns uses a hashtable as the underlying data strcture. Therefore, the look-up time would be constant (O(1)) . It is implemented as a singleton. If this is interesting for the FSFW, I will propose a pull request soon.
Actually, the key propably should be the objectId instead of the message queue ID,
if I read the todo text correctly.
However, that change should be trivial, so if youre are interested, I will implement the mapping like that:
object_id_t -> MessageQueueIF*
. Of course, an object might have multiple message queues..Related or even duplicate of #205
Close as this is a duplicate of #205