Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #39889

Re: Is it possible to send message bursts?

From Arne Vajhøj <arne@vajhoej.dk>
Newsgroups comp.lang.java.programmer
Subject Re: Is it possible to send message bursts?
Date 2023-01-02 19:27 -0500
Organization Aioe.org NNTP Server
Message-ID <tovspv$10ol$1@gioia.aioe.org> (permalink)
References <7128506e-015c-4992-8ee4-9c62fb2ccc11n@googlegroups.com> <touu1b$9tp$1@gioia.aioe.org> <slrntr6aod.pa7s.avl@logic.at>

Show all headers | View raw


On 1/2/2023 2:05 PM, Andreas Leitgeb wrote:
> Arne Vajhøj <arne@vajhoej.dk> wrote:
>> On 1/2/2023 5:10 AM, mike wrote:
>>> Problem is when I test this is that I want to send message that first
>>> has some data and then no data giving making read() return -1 and
>>> then data again. Is it possible to create an inputstream that
>>> supports this behaviour?
> 
> I'd think it is possible to create a custom InputStream class
> that allows reading some bytes, then -1 and lateron some more
> bytes, if its read() actually gets called again.
> 
> The problem is, that standard-classes like BufferedReaders, or
> really any Reader, will just not expect further bytes after
> first EOF.  Those wrappers will just assume that an EOF on
> the stream is final, and not even attempt any further read.
> 
> So, if the code (that you want to pass your special stream to)
> relies on wrappers, it just won't work, but if it directly uses
> that InputStream and "knows" that -1 isn't final, it might
> even work - despite being fragile at best, as any software
> implementing undocumented/contradocumented behaviour.

True.

But if it was me then I would go in another direction.

>> I don't understand. read() is a blocking method, so if there
>> is no input it blocks until there is input. It returns -1
>> if end of stream is reached (and stream is then invalid and
>> no point in calling read again).
> 
> Outside of Java world, if stdin is bound to a terminal, then
> receiving an EOF and still being able to read more data till
> next EOF is not quite as bizarre as it might look like to
> Java'ists ;-)

True.

But then that is not really EOF just CTRL/D or CTRL/Z.
being treated like EOF.

Arne

Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Is it possible to send message bursts? mike <mikaelpetterson@hotmail.com> - 2023-01-02 02:10 -0800
  Re: Is it possible to send message bursts? Arne Vajhøj <arne@vajhoej.dk> - 2023-01-02 10:42 -0500
    Re: Is it possible to send message bursts? Andreas Leitgeb <avl@logic.at> - 2023-01-02 19:05 +0000
      Re: Is it possible to send message bursts? Andreas Leitgeb <avl@logic.at> - 2023-01-02 19:13 +0000
      Re: Is it possible to send message bursts? Arne Vajhøj <arne@vajhoej.dk> - 2023-01-02 19:27 -0500
  Re: Is it possible to send message bursts? "e.d.pro...@gmail.com" <e.d.programmer@gmail.com> - 2023-01-03 04:07 -0800

csiph-web