Up
Authors
- Richard Frith-Macdonald (
richard@brainstorm.co.uk
)
-
- Andrew Kachites McCallum (
mccallum@gnu.ai.mit.edu
)
-
Version: 1.38
Date: 2005/11/22 06:30:51
Copyright: (C) 1997,2002 Free Software Foundation, Inc.
- Declared in:
- Foundation/NSPort.h
- Conforms to:
- GCFinalization
Availability: MacOS-X 10.0.0
An
NSPort
implementation for network object communications which can be used for interthread/interprocess communications on the same host, but not between different hosts.
Instance Variables
Instance Variables for NSMessagePort Class
@protected void* _internal;
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.
- Declared in:
- Foundation/NSPort.h
- Conforms to:
- NSCoding
- NSCopying
Availability: OpenStep
NSPort
is an abstract class defining interfaces underlying communications in the distributed objects framework. Each side of a connection will have an NSPort
object, responsible for sending and receiving NSPortMessage
s, which are then passed to delegates when received. The NSPort
must be added to the NSRunLoop
as an input source.
This class also implements the functionality of the NSMachPort
class on OS X.
Instance Variables
Method summary
+ (
NSPort*)
port;
Availability: OpenStep
Basic constructor returns object capable of send and receive.
By default, the port returned is an instance of
NSMessagePort
capable only of host-local communication. However, the
NSPortIsMessagePort
user default may be set to
NO
to change the behavior so that the returned value is an instance of the
NSSocketPort
class.
+ (
NSPort*)
portWithMachPort: (int)machPort;
Availability: OpenStep
NSMachPort compatibility method.
- (void)
addConnection: (
NSConnection*)aConnection
toRunLoop: (
NSRunLoop*)aLoop
forMode: (
NSString*)aMode;
Availability: MacOS-X 10.0.0
Adds to run loop as input source to be notified for input in given mode. This method is for use by subclasses.
- (id)
delegate;
Availability: OpenStep
Returns the object that received messages will be passed off to.
- (id)
init;
Availability: OpenStep
Basic initializer sets up object capable of send and receive. See
+port
for more details.
- (id)
initWithMachPort: (int)machPort;
Availability: OpenStep
NSMachPort compatibility method.
- (void)
invalidate;
Availability: OpenStep
Mark port as invalid, deregister with listeners and cease further network operations. Subclasses should override and call super.
- (BOOL)
isValid;
Availability: OpenStep
Returns whether port has been marked invalid.
- (int)
machPort;
Availability: OpenStep
NSMachPort compatibility.
- (void)
removeConnection: (
NSConnection*)aConnection
fromRunLoop: (
NSRunLoop*)aLoop
forMode: (
NSString*)aMode;
Availability: MacOS-X 10.0.0
Removes from run loop as input source to be notified for input in given mode. This method is for use by subclasses.
- (unsigned)
reservedSpaceLength;
Availability: MacOS-X 10.0.0
Returns amount of space used for header info at beginning of messages. Subclasses should override (this implementation returns 0).
- (BOOL)
sendBeforeDate: (
NSDate*)when
components: (
NSMutableArray*)components
from: (
NSPort*)receivingPort
reserved: (unsigned)length;
Availability: MacOS-X 10.0.0
Internal method for sending message, for use by subclasses.
- (BOOL)
sendBeforeDate: (
NSDate*)when
msgid: (int)msgid
components: (
NSMutableArray*)components
from: (
NSPort*)receivingPort
reserved: (unsigned)length;
Availability: MacOS-X 10.0.0
Internal method for sending message, for use by subclasses.
- (void)
setDelegate: (id)anObject;
Availability: OpenStep
Sets the object that received messages will be passed off to.
Instance Variables for NSPort Class
@protected id _delegate;
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.
@protected BOOL _is_valid;
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.
- Declared in:
- Foundation/NSPort.h
- Conforms to:
- GCFinalization
Availability: MacOS-X 10.0.0
An NSPort
implementation for network object communications based on BSD sockets. Can be used for interthread/interprocess communications between same or different hosts (though on same host NSMessagePort
will be more efficient).
Note that this class is incompatible with the latest OS X version.
Instance Variables
Method summary
+ (
NSSocketPort*)
existingPortWithNumber: (gsu16)number
onHost: (
NSHost*)aHost;
Availability: MacOS-X 10.0.0
Look up and return an existing NSSocketPort
given a host and number, or return nil
if one has not been created.
+ (
NSSocketPort*)
portWithNumber: (gsu16)number
onHost: (
NSHost*)aHost
forceAddress: (
NSString*)addr
listener: (BOOL)shouldListen;
Availability: MacOS-X 10.0.0
This is the preferred initialisation method for NSSocketPort
.
number should be a TCP/IP port number or may be zero for a port on the local host.
aHost should be the host for the port or may be nil
for the local host.
addr is the IP address that MUST be used for this port - if it is nil
then, for the local host, the port uses ALL IP addresses, and for a remote host, the port will use the first address that works.
shouldListen specifies whether to listen on the port initially.
- (
NSString*)
address;
Availability: MacOS-X 10.0.0
Returns IP address of underlying socket.
- (void)
getFds: (int*)fds
count: (int*)count;
Availability: MacOS-X 10.0.0
This is a callback method used by the NSRunLoop class to determine which descriptors to watch for the port.
- (void)
handlePortMessage: (
NSPortMessage*)m;
Availability: MacOS-X 10.0.0
Delegates processing of a message.
- (
NSHost*)
host;
Availability: MacOS-X 10.0.0
Returns host that the underlying socket is connected to.
- (gsu16)
portNumber;
Availability: MacOS-X 10.0.0
Returns port number of underlying socket.
Instance Variables for NSSocketPort Class
@protected NSString* address;
Description forthcoming.
@protected WSAEVENT eventListener;
Description forthcoming.
@protected NSMapTable* events;
Description forthcoming.
@protected NSMapTable* handles;
Description forthcoming.
@protected NSHost* host;
Description forthcoming.
@protected SOCKET listener;
Description forthcoming.
@protected NSRecursiveLock* myLock;
Description forthcoming.
@protected gsu16 portNum;
Description forthcoming.
- Declared in:
- Foundation/NSPort.h
Availability: OpenStep
Description forthcoming.
Method summary
- (void)
handlePortMessage: (
NSPortMessage*)aMessage;
Availability: OpenStep
An empty method provided for subclasses to override.
Subclasses of NSPort send this message to their delegate on receipt of a port message.
Up