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

Reply via email to