From: Simon Wright <simon@pushface.org>
Subject: Re: In memory Stream
Date: Sat, 17 Feb 2024 18:09:02 +0000 [thread overview]
Message-ID: <ly34trkloh.fsf@pushface.org> (raw)
In-Reply-To: uqqfr4$eokb$1@dont-email.me
"Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> writes:
> Note, that if you implement stream Read/Write as individual Windows
> messages it will become extremely slow. GNAT optimizes streaming of
> some built-in objects, e.g. String. But as a general case you should
> expect that streaming of any non-scalar object would cause multiple
> calls to Read/Write and thus multiple individual Windows messages.
Our motivation for the memory stream was the equivalent of this for
UDP messages; GNAT.Sockets behaves (behaved?) exactly like this, so we
buffered the result of 'Output & wrote the constructed buffer to the
socket; on the other side, we read the UDP message, stuffed its contents
into a memory stream, then let the client 'Input.
I can't remember at this distance in time, but I think I would have
liked to construct a memory stream on the received UDP packet rather
than copying the content; the compiler wouldn't let me. Perhaps worth
another try.
next prev parent reply other threads:[~2024-02-17 18:09 UTC|newest]
Thread overview: 55+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-02-16 9:41 In memory Stream DrPi
2024-02-16 10:40 ` J-P. Rosen
2024-02-16 12:40 ` Dmitry A. Kazakov
2024-02-16 12:49 ` Pascal Obry
2024-02-16 20:19 ` Simon Wright
2024-02-16 21:54 ` Lawrence D'Oliveiro
2024-02-17 9:19 ` Dmitry A. Kazakov
2024-02-17 22:00 ` Lawrence D'Oliveiro
2024-02-18 10:06 ` Dmitry A. Kazakov
2024-02-17 13:36 ` DrPi
2024-02-17 14:26 ` J-P. Rosen
2024-02-17 14:42 ` DrPi
2024-02-17 18:52 ` J-P. Rosen
2024-02-18 0:02 ` Lawrence D'Oliveiro
2024-02-17 14:48 ` Dmitry A. Kazakov
2024-02-17 14:28 ` Dmitry A. Kazakov
2024-02-17 14:56 ` DrPi
2024-02-17 18:09 ` Simon Wright [this message]
2024-02-17 21:33 ` Dmitry A. Kazakov
2024-02-18 10:06 ` Simon Wright
2024-02-18 13:02 ` Dmitry A. Kazakov
2024-02-18 20:58 ` Lawrence D'Oliveiro
2024-02-18 22:10 ` Dmitry A. Kazakov
2024-02-18 23:44 ` Lawrence D'Oliveiro
2024-02-19 8:32 ` Dmitry A. Kazakov
2024-02-20 0:41 ` Lawrence D'Oliveiro
2024-02-20 8:55 ` Dmitry A. Kazakov
2024-02-20 19:37 ` Lawrence D'Oliveiro
2024-02-20 20:45 ` Dmitry A. Kazakov
2024-02-20 22:32 ` Lawrence D'Oliveiro
2024-02-21 7:43 ` Dmitry A. Kazakov
2024-02-21 19:44 ` Lawrence D'Oliveiro
2024-02-22 8:54 ` Dmitry A. Kazakov
2024-02-22 19:53 ` Lawrence D'Oliveiro
2024-03-25 11:07 ` Nioclásán Caileán Glostéir
2024-03-25 21:21 ` Lawrence D'Oliveiro
2024-02-18 0:00 ` Lawrence D'Oliveiro
2024-02-18 10:06 ` Dmitry A. Kazakov
2024-02-18 20:56 ` Lawrence D'Oliveiro
2024-02-18 22:10 ` Dmitry A. Kazakov
2024-02-18 23:47 ` Lawrence D'Oliveiro
2024-02-19 8:39 ` Dmitry A. Kazakov
2024-02-20 0:43 ` Lawrence D'Oliveiro
2024-02-19 9:24 ` Björn Lundin
2024-02-19 9:46 ` Dmitry A. Kazakov
2024-02-20 0:42 ` Lawrence D'Oliveiro
2024-04-02 0:21 ` Kevin Chadwick
2024-04-02 0:27 ` Lawrence D'Oliveiro
2024-04-02 3:27 ` Kevin Chadwick
2024-04-03 19:43 ` Pól Niocláſ Caileán Gloſtéir
2024-04-03 22:44 ` Chris Townley
2024-02-18 11:36 ` Björn Lundin
2024-02-18 20:57 ` Lawrence D'Oliveiro
2024-02-19 14:59 ` Björn Lundin
2024-02-19 17:01 ` Chris Townley
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox