Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Schuetz2012-02-02 16:21:09 +0000
committerThomas Schuetz2012-02-02 16:21:09 +0000
commit51a06bd75d6f89596c978176b3e8b9b13f8562cc (patch)
tree53d47a9caefd23605023979b1b9ebbbf10d610b4 /runtime/org.eclipse.etrice.runtime.c/src/etMessageService.c
parent4dd4a99412c8592c4dea41184781ca29b0ee2bd0 (diff)
downloadorg.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.c6
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

Back to the top