Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Schuetz2012-02-24 09:44:37 -0500
committerThomas Schuetz2012-02-24 09:44:37 -0500
commit724f46d55b352c16731b46a332b13d436b536aae (patch)
treea013139d985b009a95434ce4467e2763116a5f83 /runtime
parentee668a71dbbf0730df6fc70df5db9328e3e7057d (diff)
parent174c1f53eb51741e3487927540dbde06ee10df44 (diff)
downloadorg.eclipse.etrice-724f46d55b352c16731b46a332b13d436b536aae.tar.gz
org.eclipse.etrice-724f46d55b352c16731b46a332b13d436b536aae.tar.xz
org.eclipse.etrice-724f46d55b352c16731b46a332b13d436b536aae.zip
Merge branch 'master' of ssh://git.eclipse.org/gitroot/etrice/org.eclipse.etrice
Diffstat (limited to 'runtime')
-rw-r--r--runtime/org.eclipse.etrice.runtime.c/src/etPort.c7
-rw-r--r--runtime/org.eclipse.etrice.runtime.c/src/etPort.h21
2 files changed, 27 insertions, 1 deletions
diff --git a/runtime/org.eclipse.etrice.runtime.c/src/etPort.c b/runtime/org.eclipse.etrice.runtime.c/src/etPort.c
index ce8c5045c..24f22043d 100644
--- a/runtime/org.eclipse.etrice.runtime.c/src/etPort.c
+++ b/runtime/org.eclipse.etrice.runtime.c/src/etPort.c
@@ -21,3 +21,10 @@ void etPort_receive(const etPort* self, const etMessage* msg) {
ET_MSC_LOGGER_SYNC_EXIT
}
+
+void etPort_sendMessage(const etPort* self, etInt16 evtId) {
+ etMessage* msg = etMessageService_getMessageBuffer(self->msgService, sizeof(etMessage));
+ msg->address = self->peerAddress;
+ msg->evtID = evtId;
+ etMessageService_pushMessage(self->msgService, msg);
+}
diff --git a/runtime/org.eclipse.etrice.runtime.c/src/etPort.h b/runtime/org.eclipse.etrice.runtime.c/src/etPort.h
index 3e7bd617b..797adb9ad 100644
--- a/runtime/org.eclipse.etrice.runtime.c/src/etPort.h
+++ b/runtime/org.eclipse.etrice.runtime.c/src/etPort.h
@@ -33,10 +33,29 @@ typedef struct {
#endif
} etPort;
+typedef struct {
+ void* myActor;
+ etActorReceiveMessage receiveMessageFunc;
+ etMessageService* msgService;
+ etAddressId peerAddress;
+ etAddressId localId;
+ etAddressId index;
+
+ #ifdef etDEBUG
+ etAddressId address;
+ /* thread ID from msg service: msgService->threadId */
+ #endif
+} etReplSubPort;
+
+typedef struct {
+ etInt16 size;
+ const etReplSubPort* ports;
+} etReplPort;
+
typedef etPort* InterfaceItemBase;
void etPort_receive(const etPort* self, const etMessage* msg);
-
+void etPort_sendMessage(const etPort* self, etInt16 evtId);

Back to the top