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

Discussion in 'Ruby' started by Jeff Wood, Oct 17, 2005.

  1. Jeff Wood

    Jeff Wood Guest

    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
     
    Jeff Wood, Oct 17, 2005
    #1
    1. Advertising

  2. Jeff Wood

    Tom Copeland Guest

    Re: [ANN] Roxy 0.1 - Remote Proxy Objects w/ type & methodsignature impersonation and w/ remote block yields.

    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
     
    Tom Copeland, Oct 17, 2005
    #2
    1. Advertising

  3. Jeff Wood

    Jeff Wood Guest

    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 <> 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
     
    Jeff Wood, Oct 17, 2005
    #3
  4. Jeff Wood

    Tom Copeland Guest

    Re: [ANN] Roxy 0.1 - Remote Proxy Objects w/ type & methodsignature impersonation and w/ remote block yields.

    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
     
    Tom Copeland, Oct 17, 2005
    #4
  5. Jeff Wood

    Jeff Wood Guest

    groovy, thanks.

    j.

    On 10/17/05, Tom Copeland <> 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
     
    Jeff Wood, Oct 17, 2005
    #5
  6. Jeff Wood

    Ed Howland Guest

    On 10/17/05, Jeff Wood <> wrote:
    > groovy, thanks.
    >
    > j.
    >


    Now all we need is an ORB!

    Ed
     
    Ed Howland, Oct 17, 2005
    #6
  7. Jeff Wood

    Eric Hodel Guest

    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::DRbUndumped.

    --
    Eric Hodel - - http://segment7.net
    FEC2 57F1 D465 EB15 5D6E 7C11 332A 551C 796C 9F04
     
    Eric Hodel, Oct 18, 2005
    #7
  8. Jeff Wood

    Jeff Wood Guest

    ------=_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 <> 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::DRbUndumped.
    >
    > --
    > Eric Hodel - - 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--
     
    Jeff Wood, Oct 18, 2005
    #8
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. JJBW
    Replies:
    1
    Views:
    10,213
    Joerg Jooss
    Apr 24, 2004
  2. morrell
    Replies:
    1
    Views:
    966
    roy axenov
    Oct 10, 2006
  3. Gustavo Narea
    Replies:
    14
    Views:
    871
    Gustavo Narea
    Feb 16, 2009
  4. Greg
    Replies:
    4
    Views:
    308
    Steven Simpson
    Aug 16, 2012
  5. Knute Johnson
    Replies:
    0
    Views:
    203
    Knute Johnson
    Jul 29, 2012
Loading...

Share This Page