Mailing List Archive: 49091 messages
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search


From: koopmans:itr:ing:nl at: 1-Oct-2001 10:42

> I can understand it. That would be great. I think that Maarten's Rugby is > heading that way. Now more direct and technical question - is it > technically possible to accept connection (conn: first listen-port), and > once done, pass the connection to another node (rebol process on the same > machine, remote rebol process) to handle such request?
Rugby is already there. Rugby allows you to expose Rebol funcs. Rebol funcs can accept blocks. Blocks can be executed. Provide some extra security to preventy malicious blocks from being executed (for example by creating a dialect) and you are done. Combine this with View where you can integrate servers and clients due to the event system and with the http transport layer (which is also non-blocking).... All of the things Holger mentions are currently done at my daytime job using Rugby and distributing tasks over 10 machines on all kind of platforms using Command, including FreeBSD, Linux, Solaris and Windows. If you are interested in writing your own high-performance server you could look into hipe-serv.r in the Rugby distro. It is a generic non-blocking I/O engine. You supply it one function (the handler) and the rest is taken care off. See web-handler (the http proxy) and do-handler (the Rugby handler) as examples in server.r in the distro. Another good example is the rugby console that I put on the REB sometime ago. It allows you to run rugby servers as you type on any Core 2.5 engined Rebol, add and remove functions dynamically, etc. HTH, Maarten