From: Alexander Korolev <antonovkablog@gmail.com>
Subject: Re: Stream_Element_Array
Date: Wed, 14 Sep 2011 19:33:00 -0700 (PDT)
Date: 2011-09-14T19:33:00-07:00 [thread overview]
Message-ID: <32f9a1c1-429f-4cfb-bf58-f0fc84ad9fd3@s12g2000yqm.googlegroups.com> (raw)
In-Reply-To: ju5wgjs11mug$.4ohgki30bvpf.dlg@40tude.net
On Sep 15, 12:13 am, "Dmitry A. Kazakov" <mail...@dmitry-kazakov.de>
wrote:
> On Wed, 14 Sep 2011 10:16:09 -0700 (PDT), Alexander Korolev wrote:
> > I've been advised and that worked out for many in few cases to use
> > Volatile_Streams.Memory_Resident_Stream.
>
> This is not what you need. It is a stream backed by the memory. I also
> implemented such, backed by a String object, that is when you write, you do
> into the string, when you read then from the string.
>
> In your case the other end is not the memory but the wire. This is what
> Serial_Port of GNAT.Serial_Communications is, an implementation of stream.
>
> So you simply derive or aggregate a new type from/into it, place there an
> output buffer of Stream_Element_Array of the maximal message size, and
> Stream_Element_Array for the input, usually just one element length.
>
> The pattern is:
>
> Root_Stream_Type -- abstract stream
> |
> Serial_Port -- concrete stream, transport layer
> |
> your type -- specific protocol implementation
>
> --
> Regards,
> Dmitry A. Kazakovhttp://www.dmitry-kazakov.de
Dmitry, I've sent an email for your attention. Please review.
Thanks, Alexander.
next prev parent reply other threads:[~2011-09-15 2:40 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-09-14 3:13 Stream_Element_Array Alexander Korolev
2011-09-14 5:29 ` Stream_Element_Array Per Sandberg
2011-09-14 8:34 ` Stream_Element_Array Alexander Korolev
2011-09-14 8:31 ` Stream_Element_Array Simon Wright
2011-09-14 9:09 ` Stream_Element_Array Alexander Korolev
2011-09-14 9:40 ` Stream_Element_Array Dmitry A. Kazakov
2011-09-14 9:41 ` Stream_Element_Array Dmitry A. Kazakov
2011-09-14 10:18 ` Stream_Element_Array Simon Wright
2011-09-14 12:42 ` Stream_Element_Array Dmitry A. Kazakov
2011-09-14 16:20 ` Stream_Element_Array Simon Wright
2011-09-14 19:53 ` Stream_Element_Array Dmitry A. Kazakov
2011-09-14 10:53 ` Stream_Element_Array Simon Wright
2011-09-14 12:48 ` Stream_Element_Array Dmitry A. Kazakov
2011-09-14 14:48 ` Stream_Element_Array Alexander Korolev
2011-09-14 15:08 ` Stream_Element_Array Dmitry A. Kazakov
2011-09-14 17:16 ` Stream_Element_Array Alexander Korolev
2011-09-14 20:13 ` Stream_Element_Array Dmitry A. Kazakov
2011-09-14 21:29 ` Stream_Element_Array Alexander Korolev
2011-09-15 8:20 ` Stream_Element_Array Dmitry A. Kazakov
2011-09-15 18:58 ` Stream_Element_Array Alexander Korolev
2011-09-15 20:48 ` Stream_Element_Array Dmitry A. Kazakov
2011-09-16 0:20 ` Stream_Element_Array Alexander Korolev
2011-09-15 19:15 ` Stream_Element_Array Alexander Korolev
2011-09-15 20:11 ` Stream_Element_Array Simon Wright
2011-09-15 20:34 ` Stream_Element_Array Alexander Korolev
2011-09-15 21:42 ` Stream_Element_Array Simon Wright
2011-09-15 21:50 ` Stream_Element_Array Simon Wright
2011-09-16 0:01 ` Stream_Element_Array Alexander Korolev
2011-09-16 0:18 ` Stream_Element_Array Adam Beneschan
2011-09-16 7:22 ` Stream_Element_Array Dmitry A. Kazakov
2011-09-16 10:21 ` Stream_Element_Array Simon Wright
2011-09-16 12:13 ` Stream_Element_Array Dmitry A. Kazakov
2011-09-16 17:20 ` Stream_Element_Array Simon Wright
2011-09-16 19:32 ` Stream_Element_Array Dmitry A. Kazakov
2011-09-16 22:18 ` Stream_Element_Array Simon Wright
2011-09-17 8:18 ` Stream_Element_Array Dmitry A. Kazakov
2011-09-19 23:22 ` Stream_Element_Array Randy Brukardt
2011-09-15 21:28 ` Stream_Element_Array Alexander Korolev
2011-09-15 2:33 ` Alexander Korolev [this message]
2011-09-19 23:11 ` Stream_Element_Array Randy Brukardt
2011-09-14 12:19 ` Stream_Element_Array Gautier write-only
2011-09-16 11:17 ` Stream_Element_Array anon
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox