This is the second release of Celluloid, and introduces a new reentrant
method dispatch system based on fibers. More information about this new
system, the problems it solves, and how Celluloid uses fibers is available
in this commit message:
Celluloid's concurrent objects should now function just like Ruby objects
whenever synchronous calls are used (the previous release suffered deadlocks
in certain cases). Celluloid objects also support asynchronous method calls
which allow them to run methods in the background without blocking the
caller.
Because this release uses fibers, it no longer works on 1.8.7 and requires
you use 1.9 mode on JRuby (see README for instructions). Rubinius is still
supported in 1.8 mode and Celluloid will work on Rubinius 2.0.0pre.
This is the second release of Celluloid, and introduces a new reentrant
method dispatch system based on fibers. More information about this new
system, the problems it solves, and how Celluloid uses fibers is available
in this commit message:
Hey, not sure why but I didn't get that email. Are you posting through
Usenet or something?
Thanks for this useful framework with its nice and Ruby like API.
I'm wondering whether you intend to support asynchronous call with
return value(s). Such call would return a future, then the caller would
be able to retrieve or try to retrieve the value(s) at any time.
I know that there is Celluloid::Future but this is not really
"integrated" with the asynchronous call feature. So the nice API is not
complete regarding this aspect.
Yeah, I wanted to do this sort of thing in Reia. I was going to do
obj<-futurized_method_call(...) for that, which would return a future. The
cooresponding obj->methoI'm not sure what syntax would be appropriate for
Celluloid. Perhaps obj.future(:method, *args, &block) ?
PS : The readme still indicates that 'new' creates a normal object, yet
new is now an alias for spawn.
Oops, I changed that in the most recent release and didn't update the
README. Thanks!
···
On Tue, Jun 28, 2011 at 2:54 AM, Chauk-Mean Proum <chauk.mean@gmail.com> wrote: