WIP: somethings wrong.. #19

Closed
muellerr wants to merge 808 commits from source/master into master
18 changed files with 813 additions and 824 deletions
Showing only changes of commit e800aad979 - Show all commits

View File

@ -1,4 +1,4 @@
#include "../events/Event.h"
#include "Event.h"
namespace EVENT {
EventId_t getEventId(Event event) {
return (event & 0xFFFF);

View File

@ -1,10 +1,10 @@
#ifndef FRAMEWORK_EVENTS_EVENT_H_
#define FRAMEWORK_EVENTS_EVENT_H_
#ifndef EVENTOBJECT_EVENT_H_
#define EVENTOBJECT_EVENT_H_
#include <cstdint>
#include "../events/fwSubsystemIdRanges.h"
#include <stdint.h>
#include "fwSubsystemIdRanges.h"
//could be move to more suitable location
#include <subsystemIdRanges.h>
#include <config/tmtc/subsystemIdRanges.h>
typedef uint16_t EventId_t;
typedef uint8_t EventSeverity_t;
@ -21,7 +21,6 @@ EventSeverity_t getSeverity(Event event);
Event makeEvent(EventId_t eventId, EventSeverity_t eventSeverity);
}
namespace SEVERITY {
static const EventSeverity_t INFO = 1;
static const EventSeverity_t LOW = 2;
@ -42,4 +41,4 @@ namespace SEVERITY {
// static const EventSeverity_t HIGH = 4;
//};
#endif /* FRAMEWORK_EVENTS_EVENT_H_ */
#endif /* EVENTOBJECT_EVENT_H_ */

View File

@ -1,5 +1,5 @@
#include "../events/EventManager.h"
#include "../events/EventMessage.h"
#include "EventManager.h"
#include "EventMessage.h"
#include "../serviceinterface/ServiceInterfaceStream.h"
#include "../ipc/QueueFactory.h"
#include "../ipc/MutexFactory.h"
@ -8,16 +8,13 @@
const uint16_t EventManager::POOL_SIZES[N_POOLS] = {
sizeof(EventMatchTree::Node), sizeof(EventIdRangeMatcher),
sizeof(ReporterRangeMatcher) };
// If one checks registerListener calls, there are around 40 (to max 50)
// objects registering for certain events.
// Each listener requires 1 or 2 EventIdMatcher and 1 or 2 ReportRangeMatcher.
// So a good guess is 75 to a max of 100 pools required for each, which fits well.
// SHOULDDO: Shouldn't this be in the config folder and passed via ctor?
//If one checks registerListener calls, there are around 40 (to max 50) objects registering for certain events.
//Each listener requires 1 or 2 EventIdMatcher and 1 or 2 ReportRangeMatcher. So a good guess is 75 to a max of 100 pools required for each, which fits well.
const uint16_t EventManager::N_ELEMENTS[N_POOLS] = { 240, 120, 120 };
EventManager::EventManager(object_id_t setObjectId) :
SystemObject(setObjectId),
factoryBackend(0, POOL_SIZES, N_ELEMENTS, false, true) {
SystemObject(setObjectId), eventReportQueue(NULL), mutex(NULL), factoryBackend(
0, POOL_SIZES, N_ELEMENTS, false, true) {
mutex = MutexFactory::instance()->createMutex();
eventReportQueue = QueueFactory::instance()->createMessageQueue(
MAX_EVENTS_PER_CYCLE, EventMessage::EVENT_MESSAGE_SIZE);
@ -52,7 +49,7 @@ void EventManager::notifyListeners(EventMessage* message) {
for (auto iter = listenerList.begin(); iter != listenerList.end(); ++iter) {
if (iter->second.match(message)) {
MessageQueueSenderIF::sendMessage(iter->first, message,
message->getSender());
message->getSender());
}
}
unlockMutex();
@ -133,23 +130,16 @@ void EventManager::printEvent(EventMessage* message) {
break;
default:
string = translateObject(message->getReporter());
sif::debug << "EventManager: ";
sif::error << "EVENT: ";
if (string != 0) {
sif::debug << string;
sif::error << string;
} else {
sif::error << "0x" << std::hex << message->getReporter() << std::dec;
}
else {
sif::debug << "0x" << std::hex << message->getReporter() << std::dec;
}
sif::debug << " reported " << translateEvents(message->getEvent())
<< " (" << std::dec << message->getEventId() << ") "
<< std::endl;
sif::debug << std::hex << "P1 Hex: 0x" << message->getParameter1()
<< ", P1 Dec: " << std::dec << message->getParameter1()
<< std::endl;
sif::debug << std::hex << "P2 Hex: 0x" << message->getParameter2()
<< ", P2 Dec: " << std::dec << message->getParameter2()
<< std::endl;
sif::error << " reported " << translateEvents(message->getEvent()) << " ("
<< std::dec << message->getEventId() << std::hex << ") P1: 0x"
<< message->getParameter1() << " P2: 0x"
<< message->getParameter2() << std::dec << std::endl;
break;
}

View File

@ -1,8 +1,8 @@
#ifndef EVENTMANAGER_H_
#define EVENTMANAGER_H_
#include "../events/eventmatching/EventMatchTree.h"
#include "../events/EventManagerIF.h"
#include "eventmatching/EventMatchTree.h"
#include "EventManagerIF.h"
#include "../objectmanager/SystemObject.h"
#include "../storagemanager/LocalPool.h"
#include "../tasks/ExecutableObjectIF.h"
@ -36,11 +36,11 @@ public:
ReturnValue_t performOperation(uint8_t opCode);
protected:
MessageQueueIF* eventReportQueue = nullptr;
MessageQueueIF* eventReportQueue;
std::map<MessageQueueId_t, EventMatchTree> listenerList;
MutexIF* mutex = nullptr;
MutexIF* mutex;
static const uint8_t N_POOLS = 3;
LocalPool<N_POOLS> factoryBackend;

View File

@ -1,8 +1,8 @@
#ifndef EVENTMANAGERIF_H_
#define EVENTMANAGERIF_H_
#include "../events/eventmatching/eventmatching.h"
#include "../events/EventMessage.h"
#include "eventmatching/eventmatching.h"
#include "EventMessage.h"
#include "../objectmanager/ObjectManagerIF.h"
#include "../ipc/MessageQueueSenderIF.h"

View File

@ -1,4 +1,4 @@
#include "../events/EventMessage.h"
#include "EventMessage.h"
#include <cstring>
EventMessage::EventMessage() {

View File

@ -1,7 +1,7 @@
#ifndef EVENTMESSAGE_H_
#define EVENTMESSAGE_H_
#include "../events/Event.h"
#include "Event.h"
#include "../ipc/MessageQueueMessage.h"
#include "../objectmanager/ObjectManagerIF.h"

View File

@ -1,7 +1,7 @@
#ifndef FRAMEWORK_EVENTS_EVENTREPORTINGPROXYIF_H_
#define FRAMEWORK_EVENTS_EVENTREPORTINGPROXYIF_H_
#include "../events/Event.h"
#include "Event.h"
class EventReportingProxyIF {

View File

@ -1,4 +1,4 @@
#include "../../events/eventmatching/EventIdRangeMatcher.h"
#include "EventIdRangeMatcher.h"
EventIdRangeMatcher::EventIdRangeMatcher(EventId_t lower, EventId_t upper,
bool inverted) : EventRangeMatcherBase<EventId_t>(lower, upper, inverted) {

View File

@ -1,7 +1,7 @@
#ifndef FRAMEWORK_EVENTS_EVENTMATCHING_EVENTIDRANGEMATCHER_H_
#define FRAMEWORK_EVENTS_EVENTMATCHING_EVENTIDRANGEMATCHER_H_
#include "../../events/eventmatching/EventRangeMatcherBase.h"
#include "EventRangeMatcherBase.h"
class EventIdRangeMatcher: public EventRangeMatcherBase<EventId_t> {
public:

View File

@ -1,7 +1,7 @@
#include "../../events/eventmatching/EventIdRangeMatcher.h"
#include "../../events/eventmatching/EventMatchTree.h"
#include "../../events/eventmatching/ReporterRangeMatcher.h"
#include "../../events/eventmatching/SeverityRangeMatcher.h"
#include "EventIdRangeMatcher.h"
#include "EventMatchTree.h"
#include "ReporterRangeMatcher.h"
#include "SeverityRangeMatcher.h"
EventMatchTree::EventMatchTree(StorageManagerIF* storageBackend,
bool invertedMatch) :

View File

@ -1,4 +1,4 @@
#include "../../events/eventmatching/ReporterRangeMatcher.h"
#include "ReporterRangeMatcher.h"
ReporterRangeMatcher::ReporterRangeMatcher(object_id_t lower, object_id_t upper,
bool inverted) : EventRangeMatcherBase<object_id_t>(lower, upper, inverted) {

View File

@ -1,7 +1,7 @@
#ifndef FRAMEWORK_EVENTS_EVENTMATCHING_REPORTERRANGEMATCHER_H_
#define FRAMEWORK_EVENTS_EVENTMATCHING_REPORTERRANGEMATCHER_H_
#include "../../events/eventmatching/EventRangeMatcherBase.h"
#include "EventRangeMatcherBase.h"
class ReporterRangeMatcher: public EventRangeMatcherBase<object_id_t> {
public:

View File

@ -1,4 +1,4 @@
#include "../../events/eventmatching/SeverityRangeMatcher.h"
#include "SeverityRangeMatcher.h"
#include "../../events/EventMessage.h"
#include "../../serialize/SerializeAdapter.h"

View File

@ -1,7 +1,7 @@
#ifndef FRAMEWORK_EVENTS_EVENTMATCHING_SEVERITYRANGEMATCHER_H_
#define FRAMEWORK_EVENTS_EVENTMATCHING_SEVERITYRANGEMATCHER_H_
#include "../../events/eventmatching/EventRangeMatcherBase.h"
#include "EventRangeMatcherBase.h"
class SeverityRangeMatcher: public EventRangeMatcherBase<EventSeverity_t> {
public:

View File

@ -1,10 +1,10 @@
#ifndef EVENTMATCHING_H_
#define EVENTMATCHING_H_
#include "../../events/eventmatching/EventIdRangeMatcher.h"
#include "../../events/eventmatching/EventMatchTree.h"
#include "../../events/eventmatching/ReporterRangeMatcher.h"
#include "../../events/eventmatching/SeverityRangeMatcher.h"
#include "EventIdRangeMatcher.h"
#include "EventMatchTree.h"
#include "ReporterRangeMatcher.h"
#include "SeverityRangeMatcher.h"
#endif /* EVENTMATCHING_H_ */