I’m writing a ruby extension in C to the Solaris door library. The
door library provides for fast IPC locally on Solaris.
I wonder if such a thing is of interest to you. If you are interested
(or not), I’d appreciate your input.
Right now, it looks like this:
server process
require ‘door’
class Door
def func(arg=0)
return arg**2
end
end
d = Door.new("/path/to/door", “func”)
client process
require ‘door’
d = Door.new("/path/to/door")
answer = d.call(2) # => 4
Is it more convenient to say:
d = Door.new(:path => “/path/to/door”, :proc => “func”)
?
Which is more ruby-like?
Perhaps I can support both by checking the type of the first VALUE…
Is it OK to distribute this extension under a license other than
CDDL (this is the Solaris license), say GPL or whatnot? I’m just using
the API.
Since I used the code from ruby source (to implement, e.g.,
“File.new(path).door?”), I think I’ll have to use GPL, which is
incompatible with CDDL, from what I read.
If there’s enough interest, I would like to register the project
with Rubyforge under “door” or “ruby-door” or something. Can you think
of a better name?