Moved R3 Chat Server to Cheyenne in the Cloud
The R3 Chat system has been moved to a cloud server running Cheyenne, the web server from SoftInnov.
You know, gurus can be newbies too... especially in this modern world of computing where things change daily. This was my first Cheyenne scripting experience, and although there's not a lot of documentation, I'm happy how it worked out.
In fact, the Cheyenne part was the easy part. It's a basic .rsp web page with a line like:
<% insert tail response/buffer send-chat request/posted %>
This makes the web server tunnel the rebdev request packets, using the web server for its common port address and as a TCP I/O buffer.
The difficult part was that in using REBOL TCP, there's no way to shutdown (terminate half of the duplex) the TCP socket without closing the port, so you cannot use the simple transfer method. You must encode the length. (Let's not forget to support socket shutdown on R3.) Anyway, reworked that part of the code, and it seems to work fine.
So now when you use R3 Chat, you're running REBOL end-to-end-and-in-between. Less the OS and TCP stack, you're as REBOLish as you can get.
And, as usual, the code for all of this can fit on the tip of a pin. The tip, not the head. Makes you wonder what we could fit on the head of a pin, doesn't it?
BTW, I should note that we made this move because we were dropping 50% of the packets to the prior location and couldn't even post messages about R3 development.