# DRb Questions

**URL:** <https://www.ruby-forum.com/t/drb-questions/100114>\
**Category:** Ruby\
**Created:** [November 23, 2005, 1:58am UTC](https://www.ruby-forum.com/t/drb-questions/100114 "2005-11-23T01:58:04Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![james](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/bc8723/32.png) [@james](https://www.ruby-forum.com/u/james)\
**Post date:** [November 23, 2005, 1:58am UTC](https://www.ruby-forum.com/t/drb-questions/100114/1 "2005-11-23T01:58:04Z")

</div>

I’ve seen a couple of tutorials now claim that both sides need access  
to all classes used by client and server, but that’s just a half  
truth, right?

I’m needing to build a client class that just defines an API, then  
allow clients to subclass it to customize it to their needs. The  
server will be able to handle this as long as the client object is  
DRbUnDumped or proxied, right?

I just want to make sure I’m not crazy, before I try to build it.  
Thanks.

James Edward G. II

---

<div class="post-metadata">

**Author:** ![james](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/bc8723/32.png) [@james](https://www.ruby-forum.com/u/james)\
**Post date:** [November 23, 2005, 2:10am UTC](https://www.ruby-forum.com/t/drb-questions/100114/2 "2005-11-23T02:10:09Z")

</div>

James Edward G. II wrote:

> I’m needing to build a client class that just defines an API, then  
> allow clients to subclass it to customize it to their needs. The  
> server will be able to handle this as long as the client object is  
> DRbUnDumped or proxied, right?

If you pass a proxied object rather than marshalling it, yes. The server  
will be able to access the client object in the context of the client.

I’m using this fact now with great success:

```
http://ian.blenke.com/drb

```

In this model, the server uses the $stdin/$stdout/$stderr of the calling  
client. Neat stuff.

> I just want to make sure I’m not crazy, before I try to build it.  
> Thanks.

Everyone is crazy. That shouldn’t stop you from trying.

- Ian C. Blenke [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) [http://ian.blenke.com/](http://ian.blenke.com/)

---

<div class="post-metadata">

**Author:** ![james](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/bc8723/32.png) [@james](https://www.ruby-forum.com/u/james)\
**Post date:** [November 23, 2005, 2:14am UTC](https://www.ruby-forum.com/t/drb-questions/100114/3 "2005-11-23T02:14:10Z")

</div>

On Nov 22, 2005, at 4:57 PM, James Edward G. II wrote:

> I’ve seen a couple of tutorials now claim that both sides need  
> access to all classes used by client and server, but that’s just a  
> half truth, right?

Half truth. Access to all classes or appropriate use of  
DRb::DRbUndumped.

> I’m needing to build a client class that just defines an API, then  
> allow clients to subclass it to customize it to their needs. The  
> server will be able to handle this as long as the client object is  
> DRbUnDumped or proxied, right?

Should work perfectly.

–  
Eric H. - removed\_email\_address@domain.invalid - [http://segment7.net](http://segment7.net)  
FEC2 57F1 D465 EB15 5D6E 7C11 332A 551C 796C 9F04

This implementation is HODEL-HASH-9600 compliant

---

<div class="post-metadata">

**Author:** ![james](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/bc8723/32.png) [@james](https://www.ruby-forum.com/u/james)\
**Post date:** [November 23, 2005, 4:26am UTC](https://www.ruby-forum.com/t/drb-questions/100114/4 "2005-11-23T04:26:54Z")

</div>

On Nov 22, 2005, at 7:07 PM, Ian C. Blenke wrote:

> the client.
> 
> I’m using this fact now with great success:
> 
> [http://ian.blenke.com/drb](http://ian.blenke.com/drb)
> 
> In this model, the server uses the $stdin/$stdout/$stderr of the  
> calling client. Neat stuff.

Very nice link. Thanks for sharing!

James Edward G. II
