From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,FREEMAIL_FROM, MAILING_LIST_MULTI,PP_MIME_FAKE_ASCII_TEXT autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII X-Google-Thread: 103376,3c64340c2da5d832 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2001-04-08 13:47:11 PST Path: supernews.google.com!sn-xit-02!supernews.com!news.tele.dk!213.56.195.71!fr.usenet-edu.net!usenet-edu.net!enst!enst.fr!not-for-mail From: Wilhelm.Spickermann@t-online.de (Wilhelm Spickermann) Newsgroups: comp.lang.ada Subject: RE: Q re glade for slaves. Date: Sun, 08 Apr 2001 22:46:28 +0200 (CEST) Organization: ENST, France Sender: comp.lang.ada-admin@ada.eu.org Message-ID: Reply-To: comp.lang.ada@ada.eu.org NNTP-Posting-Host: marvin.enst.fr Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 8bit X-Trace: avanie.enst.fr 986762830 79423 137.194.161.2 (8 Apr 2001 20:47:10 GMT) X-Complaints-To: usenet@enst.fr NNTP-Posting-Date: Sun, 8 Apr 2001 20:47:10 +0000 (UTC) To: comp.lang.ada@ada.eu.org Return-Path: X-Mailer: XFMail 1.4.0 on Linux X-Priority: 3 (Normal) In-Reply-To: <3ACFE157.E58FF313@mail.utexas.edu> X-Sender: 0211750756-0001@t-dialin.net Errors-To: comp.lang.ada-admin@ada.eu.org X-BeenThere: comp.lang.ada@ada.eu.org X-Mailman-Version: 2.0.3 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: comp.lang.ada mail<->news gateway List-Unsubscribe: , List-Archive: Errors-To: comp.lang.ada-admin@ada.eu.org X-BeenThere: comp.lang.ada@ada.eu.org Xref: supernews.google.com comp.lang.ada:6649 Date: 2001-04-08T22:46:28+02:00 On 08-Apr-01 Bobby D. Bryant wrote: ... > The solution that I came up with is to create a generic package for > the > common code for the slaves, create an instance of that package for > each > slave, and have the .cfg file assign each instance to a different > processor. However, since the Remote_Call_Interface pragma seems to ... You can dynamically add and remove clients even if the machine didn�t exist when the cfg files were made. But the clients are not accessed by an RCI -- RCIs are too static. You have to use dispatching calls for that. Example: 1. make a pure package ("Places") containing something like type Abstract_Place is abstract tagged limited private; procedure doit1(Where: access Abstract_Place;...) is abstract; procedure doit2(Where: access Abstract_Place;...) is abstract; (All the subprograms take a parameter "Where") This allows the server to call the subprograms. 2. a "non netwide" package ("Places.Local") containing something like: type Place is new Abstract_Place with private; Override the subprograms with what You need. This package is used by the clients. Note that every partition has it�s own type "Place". 3. a "non netwide" package("Terminals.Local.Identification") creating a variable of that type: Id: aliased Places.Local.Place; 4. The client partitions transfer that "Id" as a parameter to the server using the servers remote call interface. 5. The server should maintain a list of these ids and use them as parameters for all the subprograms which should be executed in the client partitions. The call will be dispatched according to the Id-Type and so it will use the correct partition. Wilhelm