Horizon Simulation Framework issueshttps://laboratory.comsys.rwth-aachen.de/redmine-legacy/horizon-4-public/-/issues2020-08-05T13:03:12+02:00https://laboratory.comsys.rwth-aachen.de/redmine-legacy/horizon-4-public/-/issues/2cMessage::getEventDuration() semantically wrong2020-08-05T13:03:12+02:00Martin HashemcMessage::getEventDuration() semantically wrongThe function cMessage::getEventDuration() is semantically wrong. While this does not impose a direct bug since all functionality is $somewhere, it makes the code hard to read and understand.
The getEventDuration() function should only d...The function cMessage::getEventDuration() is semantically wrong. While this does not impose a direct bug since all functionality is $somewhere, it makes the code hard to read and understand.
The getEventDuration() function should only determine and return the duration of an event. However, it additionally checks whether the module the event takes place on is currently busy or not, and spins if necessary. This functionality should go somewhere else.
Further, we should re-think the caching policy. It appears to be correct, but looks missleading.https://laboratory.comsys.rwth-aachen.de/redmine-legacy/horizon-4-public/-/issues/1Configurable locks2020-08-05T13:02:20+02:00Martin HashemConfigurable locksReplace hardcoded use of locks in cLockedDefaultList and others with a generic lock class so that the actual locking implementation can be choose at compile or runtime.
List of locked classes:
- cLockedDefaultList
- cLockedMsgHeap
- cS...Replace hardcoded use of locks in cLockedDefaultList and others with a generic lock class so that the actual locking implementation can be choose at compile or runtime.
List of locked classes:
- cLockedDefaultList
- cLockedMsgHeap
- cSpinLockedMsgHeap
List of Lock types
- SpinLock
- NoLock
- SuspendLock
Possible implementation: template classes
- template <typename T> cDefaultList