r3wp [groups: 83 posts: 189283]
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

World: r3wp

[!REBOL3 Schemes] Implementors guide

Andreas
9-Jan-2010
[648]
`write mbox ["RETR" 1]` should work
Graham
9-Jan-2010
[649x2]
shouldn't state always be set to 'retr after all write commands?
ie. you always want to get the response until you hit the "."
Andreas
9-Jan-2010
[651]
that's only for multiline commands
Graham
9-Jan-2010
[652]
or a "+OK" or a "-ERR"
Andreas
9-Jan-2010
[653]
STAT, DELE, RSET only have one-line responses
Graham
9-Jan-2010
[654x2]
NOOP
QUIT
Andreas
9-Jan-2010
[656x3]
(for example, yes)
actually, WRITE exposes the low-level interface here
for RETR, PICK would be the high-level interface
Graham
9-Jan-2010
[659]
cause I get nothing back aftre

write mbox [ "RETR" 1 ]
Andreas
9-Jan-2010
[660x3]
etc
read mbox
and you'll get whatever the command handler deems to be the right 
result to pass along
Graham
9-Jan-2010
[663x3]
ahh....
write mboxc [ "TOP" 1 10 ]
hangs :)
after the read ...
Andreas
9-Jan-2010
[666]
obviously, as there's no top handling yet :)
Graham
9-Jan-2010
[667x2]
write mbox [ "TOP" 1 10 ]
read mbox

not the way it's suposed to work?
I see the top 10 lines and a "."
Andreas
9-Jan-2010
[669x2]
yes, in the debug output :)
open, length?, pick, close -- that's the currently supported interface
Graham
9-Jan-2010
[671]
ok :)
Andreas
9-Jan-2010
[672]
open? is also supported
Graham
9-Jan-2010
[673]
Just needs a little error handling ...
Andreas
9-Jan-2010
[674]
yep
Graham
9-Jan-2010
[675]
schemes aren't so hard :)
Andreas
9-Jan-2010
[676x4]
and an async mode, of course :)
nope, they are rather nice :)
actually, if you want TOP to work, you can use the internal write/read 
as well
ah, no, you can't. my mistake :)
Graham
9-Jan-2010
[680x2]
well, I was just thinking that it should work as I tried it :)
you send the command to the port and retrieve either a multi or single 
line response
Andreas
9-Jan-2010
[682x2]
write is not really intended for the user
i think that all common commands should be supported by nice higher 
level wrappers
Graham
9-Jan-2010
[684x2]
Sure ... but then a new command comes along ...
say I want to UIDL ?
Andreas
9-Jan-2010
[686]
exactly, that's when you'd use write/read directly
Graham
9-Jan-2010
[687]
+OK, what's next ?   Ftp :)
Andreas
9-Jan-2010
[688]
hehe, i could abuse write/lines as indicator that a multiline response 
should be parsed
Graham
9-Jan-2010
[689]
Normally you set a state so that your machine knows what to expect 
next
Andreas
9-Jan-2010
[690]
unfortunately i can't know for all possible commands in advance wether 
they result in single- or multi-line responses
Graham
9-Jan-2010
[691]
at present there's a finite set of commands :)
Andreas
9-Jan-2010
[692]
well, anyway, have to run, for now
Graham
9-Jan-2010
[693x5]
there's also the issue of returning the data to the client issuing 
the command.
Ok, just streaming to myself.
If you're retrieving a 20mb file via email, you really want to send 
each part back to the client as you get it and not just store it 
in locals as the original r2 pop scheme does.
I found this ftp sequence diagram which might help understand what 
happens http://www.eventhelix.com/Realtimemantra/Networking/FTP.pdf
Does r2 ftp support passive or active ftp ?