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

World: r3wp

[!REBOL3 Schemes] Implementors guide

Andreas
14-Jan-2010
[1492]
the most recent version doesn't currently fetch messages, yes
Graham
14-Jan-2010
[1493]
going backwards :)
Andreas
14-Jan-2010
[1494]
most definitely :)
Graham
14-Jan-2010
[1495x2]
How would you suggest I approach the issue I raised above?
viz. Sometimes you want to exit from the handler after a messsage 
and sometimes you don't ...
Andreas
14-Jan-2010
[1497]
Hm, could you be a bit more concrete? Give an example for the kind 
of write, maybe?
Graham
14-Jan-2010
[1498x2]
Maybe I'm wrong .. and you always want to return true after some 
data is returned
I'll work on that assumption :)
Andreas
14-Jan-2010
[1500]
ok :)
Graham
14-Jan-2010
[1501]
Just remembering my Cerebrus pop proxy anti-spam script .. I had 
both progress meters for both messages download and message download
Andreas
14-Jan-2010
[1502]
yeah, i'm still undecided how to best model that
Graham
14-Jan-2010
[1503]
so some standard way to provide callbacks on data transmission would 
be good
Andreas
14-Jan-2010
[1504x2]
currently we have read, read/part and maybe copy/part in our arsenal 
of avail tools
but overall, i think a more general awake handler would be the way 
to go
Graham
14-Jan-2010
[1506x4]
well... we can handle this in the event handler ...
but .. we still need a way of defining these so that the user can 
access them.
eg. a user defined on-write callback and a on-read callback
or maybe a user defined event handler that we pass fake events to 
..
Andreas
14-Jan-2010
[1510]
real events would be even better :)
Graham
14-Jan-2010
[1511]
I guess the first thing is to try and get them to the level of the 
r2 schemes in terms of user use
Rebolek
14-Jan-2010
[1512]
If anybody wants to start torrent protocol, here's simple *.torrent 
parser: http://box.lebeda.ws/~rebolek/rebol/torrent.r
Graham
14-Jan-2010
[1513]
:)
Maxim
14-Jan-2010
[1514x3]
that would be awesome  :-)
write read torrent://file.torrent  %file.avi
url is wrong, obviously... but just the idea of it being this simple 
 ;-)
BrianH
14-Jan-2010
[1517x2]
I could use the .torrent file parser now, even before we start writing 
the protocol, to do file management utilities.
Maxim, wouldn't it be open instead of read?
Maxim
14-Jan-2010
[1519]
OPEN would assume rebol knows how to decode the binary data downloaded 
by the protocol.. 

can OPEN handle an avi file as we speak?  I don't think so.
BrianH
14-Jan-2010
[1520x2]
You are opening the port, not the file. Torrents are both clients 
and servers. You would probably open a port spec, which would open 
as many sub-ports as needed. Closing the torrent port would close 
the whole torrent session. There would be a flag in the torrent port 
that would indicate whether the file had completed downloading.
Maxim, OPEN works on ports. LOAD is what would require a decoder 
- OPEN doesn't decode anything.
Graham
14-Jan-2010
[1522]
Is someone going to write a torrent:// protocol ...or is this torrent 
noise ?  :)
BrianH
14-Jan-2010
[1523]
It's on my list, if someone else doesn't get to it first.
Graham
14-Jan-2010
[1524x2]
On testing a ftp server behind NAT ( well, it's a home system ), 
the ftp server responds to a PASV command with its local non addressable 
network address.
So, need to ignore the IP address and use the remote-ip address obtained 
on the initial lookup
Rebolek
14-Jan-2010
[1526]
I don't think my r3protocol-fu is high enough to continue much further 
than this parser :) But I may look at it tommorow bit more, to see, 
what it requires to write a protocol.
Graham
14-Jan-2010
[1527x2]
well, you don't need to write a scheme ... if you can write it as 
tcp, then it can be turned into a scheme and protocol
a scheme is just a wrapper
Rebolek
14-Jan-2010
[1529]
Hm, I still haven't experimented with schemes/protocols/anything 
networking in R3 yet, so I don't know where to start.
Graham
14-Jan-2010
[1530x2]
go on to the wiki, and read everything under ports
starting with a torrent protocol is probably not the first thing 
one should tackle!
Rebolek
14-Jan-2010
[1532]
Yes, I just did  the parser that may be useful to someone who actually 
know what he's doing :)
Graham
14-Jan-2010
[1533]
What's the parser for ?? Parsing a .torrent file?
Rebolek
14-Jan-2010
[1534]
Exactly. It returns block!
Graham
14-Jan-2010
[1535x2]
Probably the idea is to open up a project on codeplex and plan the 
functions needed to support the scheme
Unless Brian really wants to write it all himself ...
Rebolek
14-Jan-2010
[1537]
:)
Graham
14-Jan-2010
[1538x3]
Meanwhile my little fix for the ftp server behind NAT has allowed 
me to finally open up a data connection to my fax server
Need a little function

non-addressable: func [ ip-address ][ returns true or false ]
syntax perhaps some like this 


send fax://userid:[password-:-faxipaddress] [ dial: number! retries: 
integer! resolution: word! notify: email! file: file! when: time! 
]
Maxim
14-Jan-2010
[1541]
brian: sorry... you're right (open vs load), but if a protocol/scheme 
exists for torrent, read and write should work on it, just like for 
any other scheme, its part of the point of having this whole architecture... 
no?