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.
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..
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..
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
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