Monday, November 08, 2010 at 12:06 AM.
system.verbs.builtins.tcp.ftp.read
on read (stream) {
local {
status, bytesPending;
buffer;
start = clock.now()};
loop {
if clock.now() > start + 30 { // force a timeout for now
scriptError ("Timeout in read loop")};
status = tcp.statusStream (stream, @bytesPending);
case status {
"DATA" {
return (tcp.readStream (stream, bytesPending))};
"CLOSED";
"INACTIVE" {
break};
"OPEN" {
continue}};
tcp.ftp.yieldProcessor ()}}
This listing is for code that runs in the OPML Editor environment. I created these listings because I wanted the search engines to index it, so that when I want to look up something in my codebase I don't have to use the much slower search functionality in my object database. Dave Winer.