Up
Authors
- Andrew Kachites McCallum (
mccallum@gnu.ai.mit.edu
)
-
Version: 27630
Date: 2009-01-19 11:00:33 +0000 (Mon, 19 Jan 2009)
Copyright: (C) 1997,2000 Free Software Foundation, Inc.
- Declared in:
- Foundation/NSPortCoder.h
Availability: OpenStep
This class is an
NSCoder
implementation specialized for sending
objects over network connections for immediate use
(as opposed to the archivers which persist objects for
reconstitution after an indefinite term). It
is used to help implement the distributed objects
framework by the
NSConnection
class. Even for highly specialized applications,
you probably do not need to use this class directly.
Method summary
+ (
NSPortCoder*)
portCoderWithReceivePort: (
NSPort*)recv
sendPort: (
NSPort*)send
components: (
NSArray*)comp;
Availability: OpenStep
Create a new instance for communications over
send and recv, and
send an initial message through
send as specified by comp.
- (
NSConnection*)
connection;
Availability: OpenStep
Returns the NSConnection
using this
instance.
- (
NSPort*)
decodePortObject;
Availability: OpenStep
Return port object previously encoded by this
instance. Mainly for use by the ports themselves.
- (void)
dispatch;
Availability: OpenStep
Processes and acts upon the initial message the
receiver was initialized with..
- (void)
encodePortObject: (
NSPort*)aPort;
Availability: OpenStep
Encodes aPort so it can be sent to the
receiving side of the connection. Mainly for use
by the ports themselves.
- (id)
initWithReceivePort: (
NSPort*)recv
sendPort: (
NSPort*)send
components: (
NSArray*)comp;
Availability: OpenStep
Initialize a new instance for communications
over send and recv, and
send an initial message through
send as specified by comp.
- (BOOL)
isBycopy;
Availability: OpenStep
Returns YES
if receiver is in the
process of encoding objects by copying them (rather
than substituting a proxy). This method is mainly
needed internally and by subclasses.
- (BOOL)
isByref;
Availability: OpenStep
Returns YES
if receiver will
substitute a proxy when encoding objects rather
than by copying them. This method is mainly needed
internally and by subclasses.
- Declared in:
- Foundation/NSPortCoder.h
Availability: OpenStep
This informal protocol allows an object to control the
details of how an object is sent over the wire in
distributed objects Port communications.
Method summary
- (Class)
classForPortCoder;
Availability: OpenStep
Must return the class that will be created on the
remote side of the connection. If the class to be
created is not the same as that of the object
returned by replacementObjectForPortCoder: then
the class must be capable of recognising the object it
actually gets in its initWithCoder: method. The
default operation is to return NSDistantObject
unless the object is being sent bycopy, in which
case the objects actual class is returned. To force
bycopy operation the object should return its own
class.
Override to substitute class when an
instance is being serialized by an
NSPortCoder
. Default implementation returns
-classForCoder
.
- (id)
replacementObjectForPortCoder: (
NSPortCoder*)aCoder;
Availability: OpenStep
This message is sent to an object about to be encoded
for sending over the wire. The default action is to
return an NSDistantObject which is a local proxy for
the object unless the object is being sent bycopy, in
which case the actual object is returned. To force
bycopy, an object should return itself.
Returns the actual object to be encoded for sending
over the network on a Distributed Objects connection.
The default implementation returns self if
the receiver is being sent bycopy and returns
a proxy otherwise.
Subclasses may override this
method to change this behavior, eg. to ensure that
they are always copied.
Up