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,5ee499d03212eed3 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2001-10-09 10:58:08 PST Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!cyclone.bc.net!newsfeed.direct.ca!look.ca!newshub2.rdc1.sfba.home.com!news.home.com!news1.rdc1.sfba.home.com.POSTED!not-for-mail From: tmoran@acm.org Newsgroups: comp.lang.ada Subject: Re: Dynamic dispatch again References: <3BC31A54.F33F03D1@san.rr.com> X-Newsreader: Tom's custom newsreader Message-ID: Date: Tue, 09 Oct 2001 17:58:05 GMT NNTP-Posting-Host: 24.7.82.199 X-Complaints-To: abuse@home.net X-Trace: news1.rdc1.sfba.home.com 1002650285 24.7.82.199 (Tue, 09 Oct 2001 10:58:05 PDT) NNTP-Posting-Date: Tue, 09 Oct 2001 10:58:05 PDT Organization: Excite@Home - The Leader in Broadband http://home.com/faster Xref: archiver1.google.com comp.lang.ada:14066 Date: 2001-10-09T17:58:05+00:00 List-Id: >example, a task that would receive each fragment of the message until >all fragments had arrived, concatenate them, and present them as if they >arrived in one chunk, or a task that would accept a message, blocking >the caller until it had actually been put on the wire, etc. I can I'm not sure I understand what you are trying to do. It sounds like you want a bunch of low level tasks running various message channels. Sort of like Ada.Text_IO, Socket_IO, Serial_IO, that kind of thing. They handle buffering, timing, etc on their respective devices. Then the programmer is presented with a single interface where overloading determines what's called, eg Put_Line(F,...) calls Text_IO if F is an Ada.Text_IO.File_Type, Socket_IO if it's a Socket_IO.File_Type, etc. In that scenario the programmer never codes a "select" or a queue, but calls a routines from your library which handle that stuff. Is this closer to what you are driving at? Ignoring implementation, can you write down the specifications for the abstraction you want your users to see.