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

World: r3wp

[!Uniserve] Creating Uniserve processes

Ladislav
8-Feb-2007
[504x3]
close but no cigar again
:-)
(you can implement it in REBOL)
Maxim
8-Feb-2007
[507]
all the actual core needs are within... its just a question of reading 
the rfc (or implementation guides, or books) and using the encryptions 
funcs within REBOL...  but I'll agree its not for the faint of heart... 
I've read a lot about server-side ssl implemtation a few months ago 
and its quite laborious.  But still doable.
Mchean
8-Feb-2007
[508]
do i smell a competition?
Maxim
8-Feb-2007
[509x3]
If I had time I would have done it much before, but we ended up using 
apache and a reverse proxy setup... and that works really well.
it also allows us to spread connections over many machines/threads 
virtualise the port and all that nice stuff without actually having 
to code it.
(and apache is good at handling thousands of requests without crashing)
Oldes
8-Feb-2007
[512]
Must say, that I'm all day using the proxy service from the latest 
uniserve and have no problems with it. It's fast enough even when 
streaming videos:) It's quite fun to watch what files are transfered 
while surfing.
Maxim
8-Feb-2007
[513]
hum... uniserve can work as a proxy  ?
Oldes
8-Feb-2007
[514x2]
yes, and it's the best Rebol proxy I used. Just:
uniserve/boot/with [services [proxy-http] protocols [http]]
The source is in %services/proxy-http.r
Maxim
8-Feb-2007
[516]
hum... and I was just wishing a stable proxy was available in rebol 
last week for some testing... thanks! for the info.
Oldes
8-Feb-2007
[517]
At the beginning I modified it a little bit to better print out urls 
and to save favicon files if found while browsing:)
Maxim
8-Feb-2007
[518]
exactly the kind of snooping I'd add too  :-)
Dockimbel
13-Feb-2007
[519]
About server-side SSL : after several beers last year in Paris, Carl 
told me that the ssl:// scheme could be turn to work as server-side 
with just the right flag set (IIRC, was about setting the right "direction" 
in encryption), then you "just" have to implement server-side HTTPS 
protocol to support it fully. I've since that, tryed several times 
to get the info about the "magic flag" from Carl, without success. 
So I've prepared several dozens bottles of beer to be sure to get 
the info from him at the next DevCon ;-).
Henrik
13-Feb-2007
[520]
after several beers last year in Paris, Carl told me that...
 oh, so that's how it works! pardon me, I couldn't help it. :-)
Rebolek
13-Feb-2007
[521]
so if we bring some czech beers, we can probably get whole source 
code? ;)
Pekr
13-Feb-2007
[522]
Rebolek - that is for sure!
Graham
13-Feb-2007
[523]
He wouldn't drink Jaime's free beer!  ...
Graham
26-Feb-2007
[524x2]
Is there a ftp client for uniserve?
Or, at least an example of a uniserve client copes with using a command 
and a data port.
Dockimbel
26-Feb-2007
[526x3]
Not yet, but I would like to add one.
It would require to control a "data port service" from a "command 
port service".
Never really investigated deeply such construction, but at first 
look, I don't see any  issue doing that.
Oldes
26-Feb-2007
[529x3]
I have somewhere testing script (not for uniserver) working as simple 
ftp server.
maybe I could try to rewrite it
but at this moment have other things to do
Graham
26-Feb-2007
[532]
I'm looking more for client than server :)
Oldes
26-Feb-2007
[533]
Yes, but if you know how works server, you should know client as 
well:]
Graham
26-Feb-2007
[534]
off topic oldes, but are your postgres driver fixes folded back into 
the offficial driver ?
Pekr
26-Feb-2007
[535]
Graham, btw., what would be needed for Rebol FireBird support? Does 
it use typical tcp scheme as mySQL e.g.? This week I met with two 
ppl using FireBird, and there seem to be no answer from Rebol part. 
Well, maybe ODBC, but that is not free ...
Graham
26-Feb-2007
[536x2]
It has an undocumented tcp protocol .. so for Linux, there is no 
option but to move to something else
Or, to try and reverse engineer the protocol from another product
Maxim
26-Feb-2007
[538]
maybe someone else did this and documented it?  somewhere on the 
net... just thinking loud...
Graham
26-Feb-2007
[539x2]
I asked a year ago on the developer list .. they said, don't even 
think about it!
there is a client java module in CVS
Pekr
26-Feb-2007
[541x2]
eh? I thought that Firebird is being regarded being one of the best 
open-source offerings? No driver documented? Strange - each language 
except the Rebol has driver, so how they did it?
hmm, wrong channel, sorry...
Graham
26-Feb-2007
[543]
not if someone uses uniserve to write a driver :)
Pekr
26-Feb-2007
[544x2]
:-) How would it be usefull?
Well, hmm, why not, right?
Graham
26-Feb-2007
[546]
If you're going to head IT services at this new company .. perhaps 
you could get someone to write this :)
Pekr
26-Feb-2007
[547]
hehe ... well, they are mostly MS based - tried their website and 
I got some aspx Microsoft db OLE provider error. Will have to talk 
to guys a bit :-)
Oldes
27-Feb-2007
[548]
graham: what I know, my postgres driver changes are not in the original 
version. At this moment I'm not using it as I even don't have postgres 
installed. Do you need it?
Graham
27-Feb-2007
[549]
Not yet ..but wanting to make sure that forks are folded back in 
:)
[unknown: 5]
1-Mar-2008
[550]
Doc, does the Cheyenne version of Uniserve also have the mono-thread 
execution.  If so, what should I be concerned about with regard to 
blocking?
Dockimbel
1-Mar-2008
[551x3]
Cheyenne uses the latest Uniserve's version. There's no special version 
of Uniserve for Cheyenne, so it's mono-thread. Uniserve also brings 
IPC between several slave processes using the task-master protocol 
(part of Uniserve, used in Cheyenne to run CGI and RSP scripts).
The main process (Uniserve process) should only do minimal work in 
processing port events so that other events can be processed in a 
short delay, giving the feeling of multitasking with several clients.
So, you should be concerned about not doing heavy computation inside 
network event callbacks (like in 'on-received). If longer processing 
is needed, you should use the task-master service in Uniserve to 
send the request to a slave process (this has also the advantage 
of fully using the power of modern multicores processors).