Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.programmer > #39889
| 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> |
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
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