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

World: r3wp

[!REBOL3 Schemes] Implementors guide

Graham
13-Jan-2010
[1374x8]
of course couldn't have got far without Andreas' and Steeve's help
Just finished installing virtualbox, and now going to install hyalfax 
... but no modem so not sure how I can test it
installed ubuntu server .. downloaded that using the ftp:// scheme 
:)
There's such a thing as a software modem .. IAXmodem ... but not 
sure if I need Asterisk as well :(
This is pretty cool ... I can talk the hylafax server running in 
virtualbox using the ftp scheme.
Do we need imap:// ??
It's a poorly specified protocol that is a lot of work to implement 
...
never used finger://, whois:// nntp:// ....
BrianH
13-Jan-2010
[1382]
I use nntp all the time. It's also called Usenet.
Graham
13-Jan-2010
[1383]
from REBOL ?
BrianH
13-Jan-2010
[1384]
Not as often lately, but if it were available in R3 I would use it.
Graham
13-Jan-2010
[1385]
I wonder what's required to write a torrent client ...
BrianH
13-Jan-2010
[1386x3]
MD5 checksums, a parser for the files (easy), and whatever they use 
for encryption.
And TCP and/or UDP.
And HTTP for tracker communication, and whatever DHT is if you want 
to support that.
Graham
14-Jan-2010
[1389x3]
http://wiki.theory.org/BitTorrentSpecification
looks like a holiday project vs a spare afternoon one!
Sometimes you want to write to the port, and then continue to write 
... so your awake handler returns false.

But sometimes for the same command, you want it to return on completion 
.. so your awake handler returns true instead.

So, .. .what is the best approach?  Pass a flag to the write?
Use a dialect for the write data block?
BrianH
14-Jan-2010
[1392]
Isn't the return value three-state, true false and none?
Graham
14-Jan-2010
[1393x4]
I read you can only exit from the awake handler by returning true
And just for reference http://www.imapwiki.org/FrontPage
Great progress ... was able to submit a fax using my new fax:// protocol.
The fax protocol is similar to ftp but uses port 4559, and uses additional 
commands
Andreas
14-Jan-2010
[1397x3]
basic IMAP4 is not much more difficult than POP3
bittorrent would be interesting indeed, as you can easily get _tons_ 
of network activity wh
which would be nice to exercise the R3 networking stack
Gregg
14-Jan-2010
[1400]
Graham, Andreas, Steeve, et al, this is great stuff you're doing. 
Thanks for your efforts.
Andreas
14-Jan-2010
[1401x3]
well, now onto the final pop3 rewrite
i've finally come up with a clean (imho) low-level interface:
mbox: open pop3://
until [empty? msg: read mbox]
close mbox
i.e. read on the pop3 port iterates thru all available messages, 
returning an empty series after the last message was read
Steeve
14-Jan-2010
[1404x2]
Andreas, normaly it's the behavior of COPY to iterate thru a port 
result
i mean it is like that in R2
Gregg
14-Jan-2010
[1406x2]
So 'msg is returned as a block?
I was thinking of that too Steeve. COPY versus READ versus TAKE.
Steeve
14-Jan-2010
[1408]
Nice idea Gregg, READ could return the whole block (an COPY  or TAKE 
just one line at time)
Gregg
14-Jan-2010
[1409]
In this case, READ seems OK, and COPY would work as well, but not 
delete the mail on the server.
Andreas
14-Jan-2010
[1410]
read returns a binary!
Steeve
14-Jan-2010
[1411]
bu you could return a block if you wish ;-)
Gregg
14-Jan-2010
[1412]
Ah, so this is a native READ, not a wrapper in your scheme. Got it.
Andreas
14-Jan-2010
[1413x2]
i could return all messages in a block, yes
i think i got the idea of READ iterating from some R3 example
Steeve
14-Jan-2010
[1415]
Andreas, where is your source, is that free ?
Gregg
14-Jan-2010
[1416]
Then we need a callback mechanism for progress, if we read all in 
one shot.
Andreas
14-Jan-2010
[1417x3]
http://bolka.at/share/prot-pop3.r
[temporary url]
not yet licensed
Steeve
14-Jan-2010
[1420]
not need of a callback, you can return a block and populate the same 
block further.
You see what i mean ?
Andreas
14-Jan-2010
[1421]
interesting idea
Gregg
14-Jan-2010
[1422]
I'd like to see it stay low level in the scheme, as Andreas has it, 
and add wrappers for higher level operations.
Steeve
14-Jan-2010
[1423]
yep, i think so