🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: fras.text.programmieren
Article #38

Re: Messageports und ReplyMsg()

#38
From: Klemens Meyer
Date: Fri, 22 Sep 1995 15:50
45 lines
2726 bytes
Am Do 21.09.1995 um 15:39:55 Uhr meinte S.ZIMMERT@ame.osn.de (Steffen Zimmert) zum Thema "Messageports und ReplyMsg()":


SZ> Ich habe zwei öffentliche MessagePorts,  die  untereinander  eine
SZ> von   mir	definierte  Message-Struktur(RKRM-konform  natürlich)
SZ> austauschen. Da es für die Ports wichtig ist, zu wissen, das ihre
SZ> abgeschickte  Nachricht  auch  wieder freigegeben wurde, wird sie
SZ> mittels `ReplyMsg()` vom Empfängerport returniert.

Wenn ich das richtig verstanden habe, so hast Du zwei Tasks/Prozesse
laufen, und die haben jeder einen öffentlichen Port zur Kommunikation?

SZ> Hier ist  das  Problem.  Jeder  MessagePort  muß  die  erhaltenen
SZ> Messages erst prüfen, ob es seine eigene verschickte sein könnte,
SZ> da in diesem Falle ein weiteres `ReplyMsg()` fatale Folgen  haben
SZ> kann(<- Eigene Erfahrung! :-(). Wie mache ich das systemkonform?

Aha, Du benutzt diese Ports auch gleichzeitig als Reply-Port.

SZ> Bisher habe ich mir folgendes überlegt. Ich merke mir die Adresse
SZ> der verschickten Message und überprüfe die erhaltenen darauf. Ist
SZ> die Adresse gleich -> Kein ReplyMsg(), ist sie unterschiedlich ->
SZ> ReplyMsg().   Damit  der  Port  weiß,  daß  noch  eine  Nachricht
SZ> unterwegs ist, setze  ich  eine  Variable,	die  den  Status  der
SZ> verschickten Message anzeigt(UNTERWEGS,DAHEIM ;) ).

Ja, das kannst Du so machen :-)

SZ> Kann man das so machen, oder bin einmal wieder auf	dem  Holzweg,
SZ> mache es zu umständlich,...

Nun, umständlich ist das wirklich... :-))

Besser geht das, wenn Du pro Task einen Öffentlichen Port und je einen
privaten Port als ReplyPort hast. Also Du trägst in die Message-Struktur
jeweils den privaten Port als ReplyPort ein, und weißt dann: Jede Message,
die am privaten Port ankommt ist "Replied" worden. Dann hast Du keinerlei
Aufwand mehr mit dem Merken der Strukturadressen und dem Vergleichen.



----------------------------------------------------------------------------
	 Viel Spass noch
			Klemens
----------------------------------------------------------------------------
Technical Details
Message-ID: <2156C67FH000CD141H@klemens.dc.han.de>
Path: arc1-ca.pugleaf.net!dc.han.de!Klemens
References: <wYYdLMD356aez2@p-zimmer.ame.osn.de>

Show Full Headers
Complete Article Headers
Newsgroups: fras.text.programmieren,z-netz.rechner.amiga.programmieren
CC: S.ZIMMERT@ame.osn.de (Steffen Zimmert)
Message-ID: <2156C67FH000CD141H@klemens.dc.han.de>
From: Klemens@dc.han.de (Klemens Meyer)
Path: arc1-ca.pugleaf.net!dc.han.de!Klemens
Return-Receipt-To: klemens@dc.han.de (Klemens Meyer)
Subject: Re: Messageports und ReplyMsg()
Date: Fri, 22 Sep 1995 17:50:39 +0200
X-Mailer: -- The Answer V3.05
References: <wYYdLMD356aez2@p-zimmer.ame.osn.de>
X-Gateway: ZCONNECT UP royal.owl.de [UNIX/Connect v0.73]
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit