🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.protocols.iso.dev-environ
Article #617

RE: about remote operations

#617
From: X.400
Date: Wed, 24 Apr 1991 08:29
43 lines
2601 bytes
Dear Subhendu,

we refer to your question concerning the invocation of operations
by both the initiator and the responder.
Because we have not seen any satisfying answer in the list we want 
to present our solution. Any comments are very welcome.

Our work is based on the responder and the interactive initiator as shown
in the example in chapter 10 (Volume 4 of the ISODE 6.0 user's manual, 
155 pp.). We modified the main programs (lookup.c, lookupd.c in the example), 
the makefile and the rosy routines ryinitiator.c and ryresponder.c. 
In addition we have written a small awk-procedure which transforms the 
file MODULE-ops.h.  We have successfully tested these modifications in an 
implementation of the X.400 P7 protocol.

In both of the main programs we replaced the table "dispatches" by
two tables "ivdispatches" and "pfdispatches". The table "ivdispatches"
has the structure of the old initiator's dispatches table and
"pfdispatches" has the structure of the old responder's dispatches table. 
In the parameter list of ryinitiator and ryresponder the dispatches entry
is replaced by the two entries ivdispatches and pfdispatches. 

The ryinitiator routine must register the operation handler functions
of those operations for which it is the performer (call of RyDispatch).
The ryinitiator routine now has to react upon two types of events:
keyboard input and invocations by the responder (xselect). In case of 
an invocation by the responder the routine RyWait is called with an 
invocation id of zero. This results in performing the operation.

The ryresponder routine invokes operations by calling the routine invoke.

The awk procedure changes the #ifdef-statements in MODULE-ops.c. It replaces
"#ifdef INVOKER" by "#ifdef INITIATOR" or "#ifdef RESPONDER". The actual 
replacement depends on a user-defined table defining which operations are 
invoked by the initiator and which are invoked by the responder.

The makefile was changed according to the above outlined modifications
(e. g. -DRESPONDER instead of -DPERFORMER). 
  
Further information (including the sources) is available.

Norbert Haak
Reinhard Detering
Technical Details
Message-ID: <9104240829.AA10358@rufsun6.ffm.fgan.de>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!sdd.hp.com!mips!apple!agate!ucbvax!rufsun6.ffm.fgan.de!mhs

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!sdd.hp.com!mips!apple!agate!ucbvax!rufsun6.ffm.fgan.de!mhs
From: mhs@rufsun6.ffm.fgan.de (X.400)
Newsgroups: comp.protocols.iso.dev-environ
Subject: RE: about remote operations
Message-ID: <9104240829.AA10358@rufsun6.ffm.fgan.de>
Date: 24 Apr 91 08:29:51 GMT
Sender: daemon@ucbvax.BERKELEY.EDU
Distribution: inet
Organization: The Internet
Lines: 43