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-Thread: 103376,913ffb3586d7a026 X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news2.google.com!news3.google.com!proxad.net!feeder1-2.proxad.net!news.in2p3.fr!in2p3.fr!news.ecp.fr!news.jacob-sparre.dk!pnx.dk!jacob-sparre.dk!ada-dk.org!.POSTED!not-for-mail From: "Randy Brukardt" Newsgroups: comp.lang.ada Subject: Re: What is the best method for transmitting objects/tagged records? Date: Wed, 8 Jun 2011 19:49:42 -0500 Organization: Jacob Sparre Andersen Research & Innovation Message-ID: References: <47671647-1941-4bf2-ab34-578b4a853095@k16g2000yqm.googlegroups.com> NNTP-Posting-Host: static-69-95-181-76.mad.choiceone.net X-Trace: munin.nbi.dk 1307580585 12405 69.95.181.76 (9 Jun 2011 00:49:45 GMT) X-Complaints-To: news@jacob-sparre.dk NNTP-Posting-Date: Thu, 9 Jun 2011 00:49:45 +0000 (UTC) X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2900.5931 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.6090 X-RFC2646: Format=Flowed; Original Xref: g2news2.google.com comp.lang.ada:20680 Date: 2011-06-08T19:49:42-05:00 List-Id: "Shark8" wrote in message news:fb72e599-968f-4850-abf7-1ed1fc8e50c3@d1g2000yqm.googlegroups.com... On Jun 7, 1:06 pm, tmo...@acm.org wrote: >> >> marshalling/unmarshalling part of a Partition Communication Subsystem? >> >> >I think that's what it amounts to, yes. >> >> Sending an object over a comm link differs from writing to/reading from >> disk only in timing. > >Which is exactly why using tags and streams is a good idea. >The main problem is that the package that defines the tag-type is not >WITH-able by packages that are Remote_Types / Remote_Interfaces. > >So, even a function that has a parameter-footprint of >"Procedure ( Tag : In Out Ada.Tags.Tag )" is invalid > >(WITH-ing Ada.Streams is fine because it is a Pure package.) Right, but you don't need to use Ada.Tags (or anything tags) in order to stream tagged types. Just use the provided T'Class'Input and T'Class'Output attributes. For those to have portable results, you need to specify your external tag values for your tagged types (we previously discussed that). Randy.