On Friday 26 August 2005 12:53, Eric Hodel wrote:
> On 26 Aug 2005, at 01:18, Kevin Brown wrote:
> > On Friday 26 August 2005 02:08, Eric Hodel wrote:
> >> On 26 Aug 2005, at 00:32, Kevin Brown wrote:
> >>> And the client code is in a KDE app, so I won't bore you all with
> >>> the pile
> >>> there:
> >>> --START--
> >>> require 'Korundum'
> >>> require 'drb'
> >>> require 'errors'
> >>> require 'login'
> >>
> >> I don't see require 'db/db' here, so you'll need to add 'include
> >> DRbUndumped' to db/db if you don't want db/db to live here.
> >
> > If I don't want db/db to live here?  It's a seperate process...?
>
> db/db may be a huge object that you wouldn't want sent across the
> wire, or its a lot of code that doesn't need to be loaded.

Ok, that makes sense...  I don't want it marshalled, just need proxy objects, 
and that's why I've been using the undumped...

> > I'm totally lost as to A) Why that class would exist here, and B)
> > Why it existing here would cause DRb to not be able to call one of
> > my methods in the listener
> > class?
>
> A) DRb tries to marshal objects when communicating.  If DRb can't
> marshal the object, it sends a DRbObject proxy instead.

Exactly what I want. :-)

> B) When DRb is trying to send marshaled objects back and forth, both
> sides need the class definition or the object needs to be undumpable.

Ok, DB is a gigantic class, that depends on a large pile of subclasses.  The 
part that's getting me is that the DRb proxy object is obviously correctly 
associated with the Listener class.  The error comes from the call inside the 
listener when it calls @db.login(user).  The user I'm passing in was just to 
reproduce the error, but if it did execute correctly, an error would be 
raised from my code.  I know the User is fine as far as the listener call is 
concerned.

So, my confusion now lies in the fact that I really just want DRb to send the 
message to the server, and back off while that happens.  It still seems to 
want to do it on the client side via marshalling, but I'm new enough to this 
I could be on total crack. :-)