Possibly not easy to tell at that point if it is a file or network descriptor 
and the worst case is an additional read that returns EOF on an empty file?

> On Jul 7, 2016, at 4:06 PM, Alexander Ilin <ajs...@yandex.ru> wrote:
> 
> Hello, John!
> 
>  TCP/UDP streams are not seekable, so it should return f, and it does. Why 
> does it not return 0 for seekable empty (file) streams?
> 
>  A bigger quote from the documentation:
> 
> Word description
> Returns the length of the data supplied by stream, or f if the stream is not 
> seekable or has unknown length.
> 
> Notes
> Stream seeking is not supported on streams that do not have a known length, 
> e.g. TCP/IP streams.
> 
> 08.07.2016, 00:42, "John Benediktsson" <mrj...@gmail.com>:
>> For tcp/udp file descriptors, they can return 0 length sometimes and we want 
>> to then return `f` so we read to EOF.
>> 
>>> On Jul 7, 2016, at 2:26 PM, Alexander Ilin <ajs...@yandex.ru> wrote:
>>> 
>>> Hello!
>>> 
>>>  OK, ignore that last message, I can see now that it works.
>>> 
>>>  Another question, though. This one is about io.ports:
>>> 
>>> M: buffered-port stream-length
>>>    handle>> handle-length [ f ] when-zero ;
>>> 
>>>  Why does it never return 0? For instance, what if I open an empty file for 
>>> reading, I'd expect it to return 0, and "f" only for streams that are not 
>>> seekable.
>>> 
>>> { 0 }
>>> [
>>>    "empty.txt" binary [ input-stream get stream-length ] with-file-reader
>>> ] unit-test
>>> 
>>>  From the documentation on stream-length:
>>> Word description
>>> Returns the length of the data supplied by stream, or f if the stream is 
>>> not seekable or has unknown length.
>>> 
>>>  Why not return 0 so that I could test that with if-zero?
> 
> ---=====---
> Александр
> 
> ------------------------------------------------------------------------------
> Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
> Francisco, CA to explore cutting-edge tech and listen to tech luminaries
> present their vision of the future. This family event has something for
> everyone, including kids. Get more information and register today.
> http://sdm.link/attshape
> _______________________________________________
> Factor-talk mailing list
> Factor-talk@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/factor-talk

------------------------------------------------------------------------------
Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
Francisco, CA to explore cutting-edge tech and listen to tech luminaries
present their vision of the future. This family event has something for
everyone, including kids. Get more information and register today.
http://sdm.link/attshape
_______________________________________________
Factor-talk mailing list
Factor-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/factor-talk

Reply via email to