ANN: Rugby XPi beta1
[1/4] from: koopmans:itr:ing:nl at: 24-Jan-2002 17:39
All,
I am pleased to announce the beta1 of Rugby XPi.
Get it at http://www.rebolforces.com/~erebol/rugbyxpi_b1.tar.gz
This mail is the README so....
I have added the following functions:
functions? ; return a function list
ping ;alive?
add-functions ; add a block of functions from the service
remove-functions; remove a block of functions from the service
exec-code; execute a block of code in the service
start-profiling; start the profiler on the served functions
profile-data; return the profiled data
reset-profiler; reset the profiler info
set-pass-phrase; set the password for the above functions
All of the functions require a password, defaults to "welcome"
These functions lay the foundation for mobile code and a module system.
The profiler is Frank Sievertsen's FX5 profiler in a modified form.
So typically you'd do
set-pass-phrase "more secret"
serve [echo]
>From a client side you can now:
demo: context get-rugby-service tcp://localhost:8001
p: "more secret"
demo/functions? p
demo/start-profiling p
demo/exec-code p [ echo2: does [ return "Hello"]]
demo/add-functions p [echo2]
;update the local code
demo: context get-rugby-service tcp://localhost:8001
demo/echo2
print demo/profile-data
What's next?
- Adding a module system, module exchange and migration.
- XML-RPC is already/still included. Load balancing may follow.
Graphical tools for management of services
I also fixed some bugs in the secure layer when starting http transport on
the non-default port.
--Maarten
[2/4] from: petr:krenzelok:trz:cz at: 24-Jan-2002 21:55
Maarten Koopmans wrote:
>All,
>I am pleased to announce the beta1 of Rugby XPi.
<<quoted lines omitted: 22>>
>demo/start-profiling p
>demo/exec-code p [ echo2: does [ return "Hello"]]
what about changing the name to eval-code? if it only defines function
echo2, it could confuse some user (non englismans as me :-), as I
initially thought it is another option for rexec ....
>demo/add-functions p [echo2]
>;update the local code
>demo: context get-rugby-service tcp://localhost:8001
>
>demo/echo2
>print demo/profile-data
>
Another two questions:
- probably my problem, but I always do typo - I type get-rugby-serviceS
instaed of get-rugby-service - Is "service" correct in english? Or do we
want to get more "services"? :-)
- have you considered my suggestion of using compressed delivery of
stubs? (get-rugby-service) - I remember the difference for GoRim of
some 47 vs 6KB of code ...
- also - with non XPi versions of Rugby I found a little bit difficult
to remember exact combination of your function names -
meaning-meaning-meaning-meaning - two similar functions with swapped
order of name-words .... I suggested earlier to have basic function
name, and using refinements for various combinations, e.g. instead of:
get-result
get-secured-result
to use:
get-result
get-result/secured
... as order of refinements is not important ...
We are still in early phase of development, so let's change it before
whole world uses Rugby :-)
>What's next?
>- Adding a module system, module exchange and migration.
>- XML-RPC is already/still included. Load balancing may follow.
>
Will it move into separate module/upper-layer?
>Graphical tools for management of services
>
>I also fixed some bugs in the secure layer when starting http transport on
>the non-default port.
>
Cool. Really cool Maarten.
-pekr-
[3/4] from: pat665:ifrance at: 27-Jan-2002 19:58
Hi Maarten,
Testing the /nostubs refinement, I got an error on the client side.
===The server code was
rebol []
print "Test de rugby"
do %/D/rebview/public/rugby/rugby.r
triple: func [n][3 * n]
double: func [n][2 * n]
serve/nostubs [triple double]
===The client code was
do get-rugby-service tcp://192.168.1.53:8001
** User Error: Rugby server error: Unsupported function: [get-stubs]
** Near: make error! rejoin ["Rugby server error: Unsupported function: "
mold statement]
===However rexec has no problem
>> rexec/with [triple 15] tcp://192.168.1.53:8001
== 45
>> rexec/with [double 15] tcp://192.168.1.53:8001
== 30
===Is it a bug ?
If I am right the /nostubs refinement is intended to prevent functions from
being imported forcing the Client to use rexec ou sexec. However in my eyes,
the get-rugby-service should not give an error but do nothing.
Patrick
[4/4] from: koopmans:itr:ing:nl at: 28-Jan-2002 9:20
Hi,
get-rugby-service should do nothing or throw a different error.
I'll fix it.
Thanks,
Maarten
Notes
- Quoted lines have been omitted from some messages.
View the message alone to see the lines that have been omitted