Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Ruby > [ANN] Roxy 0.1 - Remote Proxy Objects w/ type & method signature impersonation and w/ remote block yields.

Reply
Thread Tools

[ANN] Roxy 0.1 - Remote Proxy Objects w/ type & method signature impersonation and w/ remote block yields.

 
 
Jeff Wood
Guest
Posts: n/a
 
      10-17-2005
Hey folks.

I know a number of people are/were interested in this.

I've just requested the rubyforge project for Roxy.

If you've watched the ruby-talk mailing list over the past few weeks,
I've been having a discussion with a number of people about
implementing clean proxy objects. Ones that don't hide the signatures
of the objects they are meant to impersonate.

Anyways, I've built what I believe is version 0.1 of the project. It
even works with blocks (see the snippets below). And, since the object
impersonates the remote, irb's auto-completion works for remote
objects.

So, as soon as the rubyforge folks validate the project, I will get
things posted for all to help make even better.

... until then, I'll simply wet your appetite with the following:

-- SCRIPT: server.rb --

require 'roxy'

my_array =3D [ 1, 2, 3, 4, 5 ]
server =3D RoxyServer.new( "hostname", 4242, my_array )
trap( "INT" ) { server.stop_server }
server.start_server.join

-- END: SCRIPT --

-- SCRIPT: client.rb --

require 'roxy'

obj =3D Roxy.new( "hostname", 4242 )
obj.class #=3D> Array
obj.methods # returns list of Array instance methods
obj.map { |c| c*2 } #=3D> [ 2, 4, 6, 8, 10 ]

-- END: SCRIPT --

Let me know what you think. I'm getting things posted as quickly as possibl=
e.

Additional features I plan to implement include allowing for ANY
Socket object to act as medium for communication, that way people can
override it with whatever protocols they would like to use.

A known limitation is that ONLY the first call of a chain (
obj.call.call.call ) will be executed remotely, the rest will be
executed locally on the result values.

So, until I get the project posted... please let me know and I can
send you one by hand.

Again, your feedback is very much appreciated.

j.

--
"http://ruby-lang.org -- do you ruby?"
Jeff Wood


 
Reply With Quote
 
 
 
 
Tom Copeland
Guest
Posts: n/a
 
      10-17-2005
On Tue, 2005-10-18 at 00:03 +0900, Jeff Wood wrote:
> So, as soon as the rubyforge folks validate the project, I will get
> things posted for all to help make even better.


Done

Yours,

Tom




 
Reply With Quote
 
 
 
 
Jeff Wood
Guest
Posts: n/a
 
      10-17-2005
Alright, it's posted. News hasn't shown up on the Rubyforge homepage,
but that's okay =3D)

j.

On 10/17/05, Tom Copeland <(E-Mail Removed)> wrote:
> On Tue, 2005-10-18 at 00:03 +0900, Jeff Wood wrote:
> > So, as soon as the rubyforge folks validate the project, I will get
> > things posted for all to help make even better.

>
> Done
>
> Yours,
>
> Tom
>
>
>
>



--
"http://ruby-lang.org -- do you ruby?"

Jeff Wood


 
Reply With Quote
 
Tom Copeland
Guest
Posts: n/a
 
      10-17-2005
On Tue, 2005-10-18 at 00:34 +0900, Jeff Wood wrote:
> Alright, it's posted. News hasn't shown up on the Rubyforge homepage,
> but that's okay =)


Yup, Tim Sutherland is currently serving as the RubyForge newscaster:

http://rubyforge.org/credits/

I think he checks pending news postings once every day or so...

Yours,

Tom




 
Reply With Quote
 
Jeff Wood
Guest
Posts: n/a
 
      10-17-2005
groovy, thanks.

j.

On 10/17/05, Tom Copeland <(E-Mail Removed)> wrote:
> On Tue, 2005-10-18 at 00:34 +0900, Jeff Wood wrote:
> > Alright, it's posted. News hasn't shown up on the Rubyforge homepage,
> > but that's okay =3D)

>
> Yup, Tim Sutherland is currently serving as the RubyForge newscaster:
>
> http://rubyforge.org/credits/
>
> I think he checks pending news postings once every day or so...
>
> Yours,
>
> Tom
>
>
>
>



--
"http://ruby-lang.org -- do you ruby?"

Jeff Wood


 
Reply With Quote
 
Ed Howland
Guest
Posts: n/a
 
      10-17-2005
On 10/17/05, Jeff Wood <(E-Mail Removed)> wrote:
> groovy, thanks.
>
> j.
>


Now all we need is an ORB!

Ed


 
Reply With Quote
 
Eric Hodel
Guest
Posts: n/a
 
      10-18-2005
On Oct 17, 2005, at 8:03 AM, Jeff Wood wrote:

> Hey folks.
>
> I know a number of people are/were interested in this.
>
> I've just requested the rubyforge project for Roxy.
>
> If you've watched the ruby-talk mailing list over the past few weeks,
> I've been having a discussion with a number of people about
> implementing clean proxy objects. Ones that don't hide the signatures
> of the objects they are meant to impersonate.
>
> Anyways, I've built what I believe is version 0.1 of the project. It
> even works with blocks (see the snippets below). And, since the object
> impersonates the remote, irb's auto-completion works for remote
> objects.
>
> So, as soon as the rubyforge folks validate the project, I will get
> things posted for all to help make even better.
>
> ... until then, I'll simply wet your appetite with the following:
>
> -- SCRIPT: server.rb --
>
> require 'roxy'
>
> my_array = [ 1, 2, 3, 4, 5 ]
> server = RoxyServer.new( "hostname", 4242, my_array )
> trap( "INT" ) { server.stop_server }
> server.start_server.join
>
> -- END: SCRIPT --
>
> -- SCRIPT: client.rb --
>
> require 'roxy'
>
> obj = Roxy.new( "hostname", 4242 )
> obj.class #=> Array
> obj.methods # returns list of Array instance methods
> obj.map { |c| c*2 } #=> [ 2, 4, 6, 8, 10 ]
>
> -- END: SCRIPT --
>
> Let me know what you think. I'm getting things posted as quickly as
> possible.


Roxy looks like it reimplements a significant portion of DRb. Have
you thought about making Roxy simply a DRb server? You'll save lots
of code and can get auto-discovery for free.

> Additional features I plan to implement include allowing for ANY
> Socket object to act as medium for communication, that way people can
> override it with whatever protocols they would like to use.


DRb gives you this for free

> A known limitation is that ONLY the first call of a chain (
> obj.call.call.call ) will be executed remotely, the rest will be
> executed locally on the result values.


With DRb you can (supposing each #call returns obj) keep all calls
remote through DRb:RbUndumped.

--
Eric Hodel - http://www.velocityreviews.com/forums/(E-Mail Removed) - http://segment7.net
FEC2 57F1 D465 EB15 5D6E 7C11 332A 551C 796C 9F04





 
Reply With Quote
 
Jeff Wood
Guest
Posts: n/a
 
      10-18-2005
------=_Part_26655_23801806.1129618260251
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Eric,
I know that DRb currently supports features I don't. My goal is to have
them.
There are "features" of DRb that I don't like. So, this is my replacement
project.
j.

On 10/17/05, Eric Hodel <(E-Mail Removed)> wrote:
>
> On Oct 17, 2005, at 8:03 AM, Jeff Wood wrote:
>
> > Hey folks.
> >
> > I know a number of people are/were interested in this.
> >
> > I've just requested the rubyforge project for Roxy.
> >
> > If you've watched the ruby-talk mailing list over the past few weeks,
> > I've been having a discussion with a number of people about
> > implementing clean proxy objects. Ones that don't hide the signatures
> > of the objects they are meant to impersonate.
> >
> > Anyways, I've built what I believe is version 0.1 of the project. It
> > even works with blocks (see the snippets below). And, since the object
> > impersonates the remote, irb's auto-completion works for remote
> > objects.
> >
> > So, as soon as the rubyforge folks validate the project, I will get
> > things posted for all to help make even better.
> >
> > ... until then, I'll simply wet your appetite with the following:
> >
> > -- SCRIPT: server.rb --
> >
> > require 'roxy'
> >
> > my_array =3D [ 1, 2, 3, 4, 5 ]
> > server =3D RoxyServer.new( "hostname", 4242, my_array )
> > trap( "INT" ) { server.stop_server }
> > server.start_server.join
> >
> > -- END: SCRIPT --
> >
> > -- SCRIPT: client.rb --
> >
> > require 'roxy'
> >
> > obj =3D Roxy.new( "hostname", 4242 )
> > obj.class #=3D> Array
> > obj.methods # returns list of Array instance methods
> > obj.map { |c| c*2 } #=3D> [ 2, 4, 6, 8, 10 ]
> >
> > -- END: SCRIPT --
> >
> > Let me know what you think. I'm getting things posted as quickly as
> > possible.

>
> Roxy looks like it reimplements a significant portion of DRb. Have
> you thought about making Roxy simply a DRb server? You'll save lots
> of code and can get auto-discovery for free.
>
> > Additional features I plan to implement include allowing for ANY
> > Socket object to act as medium for communication, that way people can
> > override it with whatever protocols they would like to use.

>
> DRb gives you this for free
>
> > A known limitation is that ONLY the first call of a chain (
> > obj.call.call.call ) will be executed remotely, the rest will be
> > executed locally on the result values.

>
> With DRb you can (supposing each #call returns obj) keep all calls
> remote through DRb:RbUndumped.
>
> --
> Eric Hodel - (E-Mail Removed) - http://segment7.net
> FEC2 57F1 D465 EB15 5D6E 7C11 332A 551C 796C 9F04
>
>
>
>
>



--
"http://ruby-lang.org -- do you ruby?"

Jeff Wood

------=_Part_26655_23801806.1129618260251--


 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Turning a signature-changing decorator into a signature-preservingone Gustavo Narea Python 14 02-16-2009 04:58 PM
class objects, method objects, function objects 7stud Python 11 03-20-2007 06:05 PM
Fo:Block can you check to see if a block contains any text by using the block id? morrell XML 1 10-10-2006 07:18 PM
UTF-8 with signature & UTF-8 without signature JJBW ASP .Net 1 04-24-2004 10:21 AM



Advertisments