diff options
author | Thomas Schuetz | 2012-02-02 16:21:09 +0000 |
---|---|---|
committer | Thomas Schuetz | 2012-02-02 16:21:09 +0000 |
commit | 51a06bd75d6f89596c978176b3e8b9b13f8562cc (patch) | |
tree | 53d47a9caefd23605023979b1b9ebbbf10d610b4 /runtime/org.eclipse.etrice.runtime.c/src/etMessageService.c | |
parent | 4dd4a99412c8592c4dea41184781ca29b0ee2bd0 (diff) | |
download | org.eclipse.etrice-51a06bd75d6f89596c978176b3e8b9b13f8562cc.tar.gz org.eclipse.etrice-51a06bd75d6f89596c978176b3e8b9b13f8562cc.tar.xz org.eclipse.etrice-51a06bd75d6f89596c978176b3e8b9b13f8562cc.zip |
[generator.c] first version of message passing actor to actor works
Diffstat (limited to 'runtime/org.eclipse.etrice.runtime.c/src/etMessageService.c')
-rw-r--r-- | runtime/org.eclipse.etrice.runtime.c/src/etMessageService.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/runtime/org.eclipse.etrice.runtime.c/src/etMessageService.c b/runtime/org.eclipse.etrice.runtime.c/src/etMessageService.c index e4d58065a..7af1c4bf7 100644 --- a/runtime/org.eclipse.etrice.runtime.c/src/etMessageService.c +++ b/runtime/org.eclipse.etrice.runtime.c/src/etMessageService.c @@ -17,11 +17,13 @@ #include "etLogger.h"
#include "etMSCLogger.h"
-void etMessageService_init(etMessageService* self, etUInt8* buffer, etUInt16 maxBlocks, etUInt16 blockSize){
+void etMessageService_init(etMessageService* self, etUInt8* buffer, etUInt16 maxBlocks, etUInt16 blockSize, etDispatcherReceiveMessage msgDispatcher){
ET_MSC_LOGGER_SYNC_ENTRY("etMessageService", "init")
self->messageBuffer.buffer = buffer;
self->messageBuffer.maxBlocks = maxBlocks;
self->messageBuffer.blockSize = blockSize;
+ self->msgDispatcher = msgDispatcher;
+
etMessageQueue_init(&self->messagePool);
etMessageQueue_init(&self->messageQueue);
@@ -81,7 +83,7 @@ void etMessageService_deliverAllMessages(etMessageService* self){ ET_MSC_LOGGER_SYNC_ENTRY("etMessageService", "deliverAllMessages")
while (etMessageQueue_isNotEmpty(&self->messageQueue)){
etMessage* msg = etMessageService_popMessage(self);
- etLogger_logInfoF("Message ID=%d, Address=%d", msg->evtID, msg->address);
+ self->msgDispatcher(msg);
etMessageService_returnMessageBuffer(self, msg);
}
ET_MSC_LOGGER_SYNC_EXIT
|