Skip navigation.
 
mlRe: Distributed Objects - bycopy
FROM : David Spooner
DATE : Wed Jan 16 17:19:02 2008

I've had a similar experience and ended up implementing -
replacementObjectForPortCoder: for the classes which I wanted to send 
bycopy.

I believe NSObject's implementation looks something like

- (id) replacementObjectForPortCoder:(NSPortCoder *)coder
  { return [NSDistantObject proxyWithLocal:self connection:[coder 
connection]]; }

while arguably it should look like

- (id) replacementObjectForPortCoder:(NSPortCoder *)coder
  {
    if ([coder isBycopy])
      return self;
    return [NSDistantObject proxyWithLocal:self connection:[coder 
connection]];
  }

Cheers,
dave


On 16-Jan-08, at 7:12 AM, Half Activist wrote:

> I wrote a client/server application that relies on Distributed 
> Objects to communicate.
> I'm extensively using bycopy since I want all data to be transfered 
> at once thus preventing
> series of forwarded method calls etc.
>
> But, I figured out that the object received by the client where not 
> actually copied (when debugging I can the they're nsdistantobject or 
> something like that...)
> And every call is forwarded to the server
> for example, my protocol has methods like this:
>
> - (bycopy NSDictionary *)aMethodThatReturnsADictionary;
>
> the implementation would be :
>
> - (bycopy NSDictionary *)aMethodThatReturnsADictionary
> {
>     return [ NSDictionary dictionaryWithObjectsAndKeys: @"Hello", 
> @"World", nil ];
> }
>
> Am I having the expected behaviour, or did I missed something?
>
> Regards

Related mailsAuthorDate
mlDistributed Objects - bycopy Half Activist Jan 16, 15:12
mlRe: Distributed Objects - bycopy David Spooner Jan 16, 17:19
mlRe: Distributed Objects - bycopy Adam R. Maxwell Jan 16, 18:24