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=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,40c8d1d2d927ffd9 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2004-02-20 05:53:04 PST Path: archiver1.google.com!news2.google.com!news.maxwell.syr.edu!nx02.iad01.newshosting.com!newshosting.com!news-peer0-test!btnet-feed5!btnet!news.btopenworld.com!not-for-mail From: "Martin Dowie" Newsgroups: comp.lang.ada Subject: Re: Interoperability: differing storage units and/or endianess Date: Fri, 20 Feb 2004 13:52:34 +0000 (UTC) Organization: BT Openworld Message-ID: References: <9fb7e8e1.0402190429.49b37b16@posting.google.com> NNTP-Posting-Host: host81-128-250-161.in-addr.btopenworld.com X-Trace: sparta.btinternet.com 1077285154 16210 81.128.250.161 (20 Feb 2004 13:52:34 GMT) X-Complaints-To: news-complaints@lists.btinternet.com NNTP-Posting-Date: Fri, 20 Feb 2004 13:52:34 +0000 (UTC) X-Newsreader: Microsoft Outlook Express 6.00.2800.1158 X-MSMail-Priority: Normal X-Priority: 3 X-MIMEOLE: Produced By Microsoft MimeOLE V6.00.2800.1165 Xref: archiver1.google.com comp.lang.ada:5690 Date: 2004-02-20T13:52:34+00:00 List-Id: "Jeffrey Carter" wrote in message news:li6Zb.293$aT1.271@newsread1.news.pas.earthlink.net... > Bibb Latting wrote: > > > Hi, I am working on a distributed application where the processors > > have differing storage unit sizes and/or endianess. My problem is how > > to handle the specification of memory contents and the delivery of > > data to applications with minimal variation between implementations. > > I'd like to know what solutions have worked well for others. > > If you can use Annex E (for example, GNAT/GLADE), then this is handled > for you. If you have to roll your own, you could probably use the > marshalling/unmarshalling code from GLADE to achieve this. > > The basic idea is to pick a representation for transmission, and ensure > that every box converts to this representation before transmission, and > converts from this representation after reception. Another thing to consider is the relative processing power and system demands of the nodes on the network. I worked on one system which used an Alpha and a PowerPC. The PowerPC had little spare processing time and the Alpha was _much_ quicker_, so we did all conversions on the Alpha. You could set up lookup tables and index them based on 'source' and 'destination' and thus keep all the transforms in one set of source code. Cheers -- Martin