Commit graph

47 commits

Author SHA1 Message Date
Richard Frith-MacDonald
8f568c7e39 Housekeeping - typecasts to avoid warnings and removal of redundant methods.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@2870 72102866-910b-0410-8b05-ffd578937521
1998-07-29 09:22:18 +00:00
Adam Fedor
1981f6a34b Remove redundant classes.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@2861 72102866-910b-0410-8b05-ffd578937521
1998-07-21 17:56:48 +00:00
Richard Frith-MacDonald
ce2c9fcdfc Updated distributed objects code to cope with triangular relationships -
Process A vends object to B which vends object to C.
There was a problem where B could give the object to C and release it in A
before C could get a proxy to the original in A.  Now we give it 30 seconds
to establish the connection.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@2824 72102866-910b-0410-8b05-ffd578937521
1998-06-26 20:39:50 +00:00
Adam Fedor
877756ca0e Memory leak and other fixes from Frith-MacDonald.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@2775 72102866-910b-0410-8b05-ffd578937521
1998-03-12 14:21:20 +00:00
Adam Fedor
37651d6566 Fix from Frith-MacDonald - customize gdomap port.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@2771 72102866-910b-0410-8b05-ffd578937521
1998-03-10 19:01:24 +00:00
Adam Fedor
8c34702d92 Patches from Frith-MacDonald, Other misc.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@2759 72102866-910b-0410-8b05-ffd578937521
1998-02-26 17:55:42 +00:00
Adam Fedor
5ad4c23b77 Use cvs export to make snapshots/dists. Minor patches.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@2742 72102866-910b-0410-8b05-ffd578937521
1998-02-09 19:06:40 +00:00
Adam Fedor
f5c81dc93c Patches from Frith-MacDonald.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@2734 72102866-910b-0410-8b05-ffd578937521
1998-02-05 22:06:20 +00:00
Adam Fedor
38bdebb9a8 Patches from Kienenberger, Yamato, Frith-MacDonald.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@2719 72102866-910b-0410-8b05-ffd578937521
1998-02-03 14:20:00 +00:00
Adam Fedor
49be21f6c3 More patches from Frith-MacDonald.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@2708 72102866-910b-0410-8b05-ffd578937521
1998-01-21 20:08:58 +00:00
Adam Fedor
793a5e1a62 Fixes from Frith-MacDonald.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@2701 72102866-910b-0410-8b05-ffd578937521
1998-01-19 15:20:15 +00:00
Adam Fedor
cc39cb890a New string functions, patches from Richard and Wacko.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@2676 72102866-910b-0410-8b05-ffd578937521
1997-12-19 18:13:52 +00:00
Adam Fedor
4fbe10eb9e Patch from Richard.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@2623 72102866-910b-0410-8b05-ffd578937521
1997-11-07 18:46:30 +00:00
Scott Christley
369c38280a Remove dependency upon config.h by headers files and include
directly in source files because the config.h file is system
dependent, used just for compiling the source, and should
not be installed.
Some minor bug fixes.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@2619 72102866-910b-0410-8b05-ffd578937521
1997-11-06 00:51:23 +00:00
Adam Fedor
dd9eaaa18b Retain/Release and DO patches from Richard Frith-MacDonald
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@2571 72102866-910b-0410-8b05-ffd578937521
1997-10-28 14:34:49 +00:00
Adam Fedor
0060d4a2a4 Rewrite of NSData from Richard Frith-Macdonald <richard@brainstorm.co.uk>
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@2459 72102866-910b-0410-8b05-ffd578937521
1997-09-29 14:39:53 +00:00
Scott Christley
4a99922d47 Merge in changes from NET-Community.
Add DLL support on Windows platforms.
Numerous minor bug fixes related to Windows platforms.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@2420 72102866-910b-0410-8b05-ffd578937521
1997-09-13 17:52:31 +00:00
Adam Fedor
79c7545d62 DO patch from Richard Frith-MacDonald <richard@brainstorm.co.uk>
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@2410 72102866-910b-0410-8b05-ffd578937521
1997-09-09 15:30:24 +00:00
Adam Fedor
25afcc3594 Patches submitted from May 20 to Aug 28 1997
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@2406 72102866-910b-0410-8b05-ffd578937521
1997-09-01 21:59:51 +00:00
Andrew McCallum
5e6bdb3b49 #include <signal.h>.
Define GDOMAP to be 0 for now; have Richard Frith-Macdonald verify
that it works for me.
(tryWrite): Change type of IFUN to match declaration of signal().
Cast second argument to signal() to avoid warning.
([TcpInPort +newForReceivingFromPortNumber:]): Use P->_PORT_SOCKET not
P->_SOCKET, which doesn't exist.  Likewise in several other methods.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@2325 72102866-910b-0410-8b05-ffd578937521
1997-05-03 20:42:04 +00:00
Andrew McCallum
8158d602cd (nameServer): Remove the ntohs() conversion of NUM. (Reported by
Richard Frith-Macdonald <richard@brainstorm.co.uk>>)


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@2315 72102866-910b-0410-8b05-ffd578937521
1997-05-03 19:26:55 +00:00
Andrew McCallum
02688c779f Changes from Richard Frith-Macdonald. See ChangeLog Apr 24 10:30:00
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@2312 72102866-910b-0410-8b05-ffd578937521
1997-05-03 19:18:55 +00:00
Andrew McCallum
ab1693ff56 Changes by Scott Christley. See ChangeLog Feb 25
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@2209 72102866-910b-0410-8b05-ffd578937521
1997-03-03 20:07:35 +00:00
Andrew McCallum
79194a56fa Substitute (NSString*) for (id <String>)
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1945 72102866-910b-0410-8b05-ffd578937521
1996-11-24 17:30:39 +00:00
Andrew McCallum
fab2728036 Changes from Scott Christley. See Oct 23 ChangeLog entry.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1888 72102866-910b-0410-8b05-ffd578937521
1996-10-31 17:28:15 +00:00
Andrew McCallum
c8e5160bff Use new ivar name eof_position, not old eofPosition.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1803 72102866-910b-0410-8b05-ffd578937521
1996-09-18 13:31:17 +00:00
Andrew McCallum
52441fecef Changes made in Rochester. See ChangeLog
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1650 72102866-910b-0410-8b05-ffd578937521
1996-07-15 18:41:44 +00:00
Andrew McCallum
56f57a6657 Patch from Scott Christley.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1551 72102866-910b-0410-8b05-ffd578937521
1996-05-27 14:26:41 +00:00
Andrew McCallum
168f431ba9 Change "Gnustep" to "GNUstep"
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1521 72102866-910b-0410-8b05-ffd578937521
1996-05-12 00:56:10 +00:00
Andrew McCallum
1b2c5c89ff Change R. Andrew McCallum to post-marriage name: Andrew Kachites McCallum
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1456 72102866-910b-0410-8b05-ffd578937521
1996-04-17 20:17:45 +00:00
Andrew McCallum
05817bc168 Rename in comments from GNU Objective C Class Library to Gnustep Base Library.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1451 72102866-910b-0410-8b05-ffd578937521
1996-04-17 19:55:26 +00:00
Andrew McCallum
a8ae3dddbb Fix typo; it is preface.h, not prefix.h.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1420 72102866-910b-0410-8b05-ffd578937521
1996-04-17 15:34:35 +00:00
Andrew McCallum
838ac3681f Change all include objects/*.h to include gnustep/base/*.h.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1419 72102866-910b-0410-8b05-ffd578937521
1996-04-17 15:23:00 +00:00
Andrew McCallum
cbcb4e387b (debug_tcpport): Changed from 1 to 0; don't print debugging messages.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1386 72102866-910b-0410-8b05-ffd578937521
1996-04-16 23:28:35 +00:00
Andrew McCallum
c2b688a5ea ([TcpInPort +newForReceivingFromPortNumber:]): Bind the socket with
INADDR_ANY, (not the host's address), so that others can connect using
any of the host's interfaces, including localhost.  Add the host's
address to _LISTENING_ADDRESS after the bind().


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1336 72102866-910b-0410-8b05-ffd578937521
1996-04-09 03:02:20 +00:00
Andrew McCallum
29e7f82a7e (debug_tcp_port): Set to 1.
([TcpInPort -encodeWithCoder:]): Use encodeBytes:.., not
encodeValue..; the data is already in network byte-order.
([TcpOutPort -encodeWithCoder:]): Likewise.
([TcpOutPort +newWithCoder:]): Likewise.
([TcpOutPort
+newForSendingToSockaddr:withAcceptedSocket:pollingInPort:]): Set
entirety of _REMOTE_IN_PORT_ADDRESS to zero.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1227 72102866-910b-0410-8b05-ffd578937521
1996-03-19 20:37:04 +00:00
Andrew McCallum
c2e7210f88 ([TcpOutPort -encodeWithCoder:]): Add debugging message.
([TcpOutPort +newWithCoder:]): Add debugging message.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1203 72102866-910b-0410-8b05-ffd578937521
1996-03-19 00:56:23 +00:00
Andrew McCallum
894952afe3 Removed methods for dealing remembering locally which RunLoop we've
been added to; now the RunLoop manages this.
([TcpInPort +newForReceivingFromPortNumber:]): Don't initialize the
the removed ivar ACTIVE_FD_SET.  Likewise with _RUN_LOOPS.
([TcpInPort -newPacketReceivedBeforeDate:]): Don't use removed
_RUN_LOOPS.
([TcpInPort -old_receivePacketWithTimeout:]): Remove old deprecated
method.
([TcpInPort -invokeWithObject:]): Method removed.
([TcpInPort -newPacketReceivedBeforeDate:]): Overhauled to use new
RunLoop mechanism.
([TcpInPort -getFds:count:]): New method, called by RunLoop.
([TcpInPort -readyForReadingOnFileDescriptor:]): Likewise.
([TcpInPort -_addClientOutPort:]): Updated for new scheme.
([TcpInPort -_connectedOutPortInvalidated:]): Likewise.
([TcpInPort -addToRunLoop:forMode:]): Method removed.
([TcpInPort -removeFromRunLoop:forMode:]): Method removed.
([TcpInPort -dealloc]): Don't release _RUN_LOOPS.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1189 72102866-910b-0410-8b05-ffd578937521
1996-03-18 19:40:45 +00:00
Andrew McCallum
baea97e1c6 (bzero): New macro, to memset(); for FD_ZERO().
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1178 72102866-910b-0410-8b05-ffd578937521
1996-03-18 14:01:18 +00:00
Andrew McCallum
c48dcc8183 ([TcpInPort +newForReceivingFromPortNumber:]): Initialize _run_loops.
([TcpInPort -addToRunLoop:forMode:]): Use new _run_loops Bag.
([TcpInPort -removeFromRunLoop:forMode:]): Likewise.
([TcpInPort -_connectedOutPortInvalidated:]): Likewise.
([TcpInPort -_addClientOutPort:]): Likewise.
([TcpInPort -dealloc]): Release _run_loops.
([TcpOutPort -outPacketClass]): Method renamed from -packetClass.
([TcpOutPort +outPacketClass]): Likewise.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1136 72102866-910b-0410-8b05-ffd578937521
1996-03-13 02:38:16 +00:00
Andrew McCallum
7a13ca8958 Updated to conform to new Port class. TcpPacket class split into
TcpInPacket and TcpOutPacket.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1121 72102866-910b-0410-8b05-ffd578937521
1996-03-12 19:43:25 +00:00
Andrew McCallum
499c00bb34 ([TcpInPort -receivePacketWithTimeout:]): Completely new
implementation that uses the RunLoop.
([TcpInPort -old_receivePacketWithTimeout:]): New method, holding old
implementation.
([TcpInPort -invokeWithObject:]): New method, called by RunLoop.
([TcpInPort -_tryToGetPacketFromReadableFD:]): New private method.
([TcpInPort -_addClientOutPort:toRunLoop:forMode:]): New method.
([TcpInPort -addToRunLoop:forMode:]): New method.
([TcpInPort -_removeClientOutPort:fromRunLoop:forMode:]): New method.
([TcpInPort -removeFromRunLoop:forMode:]): New method.
([TcpInPort -_addClientOutPort:]): Add it to the RunLoop.
([TcpInPort -_connectedOutPortInvalidated:]): Remove it from the
RunLoop.
([TcpInPort -_addClientOutPort:]): Method renamed from _addOutPort:.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1107 72102866-910b-0410-8b05-ffd578937521
1996-03-12 14:53:45 +00:00
Andrew McCallum
e31ac21a93 ([TcpInPort -receivePacketWithTimeout:]): Move initialization of
select_timeout to inside loop since Linux select() modifies
*select_timeout.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1095 72102866-910b-0410-8b05-ffd578937521
1996-03-07 20:51:50 +00:00
Andrew McCallum
e90175e3b3 Assert is_valid in many places.
([TcpInPort +newForReceivingFromPortNumber:]): Get the address of the
host, not localhost=127.0.0.1.
([TcpInPort -invalidate]): Remove ourselves from socket_2_port and
port_number_2_port here instead of in -dealloc.
([TcpInPort -description]): Indicate whether we are valid or not in
string.
([TcpOutPort -description]): Likewise.
([TcpOutPort -invalidate]): Assert is_valid, don't just conditionally
execute body.  Remove ourselves from out_port_bag and socket_2_port
here, not in -dealloc.
([TcpPacket +_getPacketSize:andReplyPort:fromSocket:inPort:]): If we
don't read() full prefix, don't abort(), just return EOF.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1091 72102866-910b-0410-8b05-ffd578937521
1996-03-07 18:14:23 +00:00
Andrew McCallum
871b80f439 Many ivar names changed for clarity. Some new ivars added; see
changes to TcpPort.h.  Overhaul of how TcpOutPort's track their remote
address.  Previously they used the address of their local peer; this
is no good when encoding a TcpOutPort on the wire for D.O.; the
D.O. reciever needs a way to contact the listen'ing socket of the
TcpInPort in order to form a new connection.  _remote_in_port_address
is now the address of the remote listen'ing socket.  Added many
comments throughout.  All perror() calls changes to be more
informative.
(debug_tcp_port): Make this a static variable instead of a macro.
(init_socket_2_port): Check pre-existance of socket_2_port here
instead of callers.
([TcpInPort +newForReceivingFromPortNumber:]): Method overhauled.
Don't bind socket to INADDR_ANY because we need to be able to encode
our unique host address on the wire for D.O.
([TcpInPort -_listeningSockaddr]): New method.
([TcpInPort -receivePacketWithTimeout:]): Method overhauled.  Get the
reply port for an incoming packet from the packet prefix.
([TcpInPort -_connectedOutPortInvalidated:]): Add debugging message.
([TcpInPort -classForConnectedCoder:]): Return the TcpOutPort class,
not [self class] because we always encode a "send right" (ala Mach),
not a "recieve right".
([TcpOutPort
+newForSendingToSockaddr:withAcceptedSocket:pollingInPort:]): Method
renamed, and majorly overhauled.  Now many different combinations of
NULL argument do different things.  This is now the single designated
initializer.  We now check both the SOCKADDR and the SOCK argument to
find previously-created TcpOutPort's.  This method is also used to set
the remote_in_port_address of an already-created TcpOutPort.  There is
more error checking.
([TcpOutPort +newForSendingToPortNumber:onHost:]): Overhauled.
([TcpOutPort +_newWithAcceptedSocket:peeraddr:inPort:]): Overhauled to
work with new designated  initalizer.
([TcpOutPort -sendPacket:withTimeout:]): Use new low-level Packet
interface that deals with reply ports.
([TcpOutPort +packetClass]): New method.
(PREFIX_LENGTH_TYPE): New macro.
(PREFIX_LENGTH_SIZE): New macro.
(PREFIX_ADDRESS_TYPE): New macro.
(PREFIX_ADDRESS_SIZE): New macro.
(PREFIX_SIZE): New macro.
([TcpPacket -_initForReceivingWithSize:replyPort:]): Use 0 prefix,
because the separate +_getPacketSize... method reads those bytes.
([TcpPacket -_writeToSocket:withReplySockaddr:]): Now the prefix
includes the sockaddr of the reply port.  If ADDR is non-null, set the
reply port address portion of the prefix.
([TcpPacket +_getPacketSize:andReplyPort:fromSocket:inPort:]): New
method, replacing +readPacketSizeFromSocket:.
([TcpPacket -_fillFromSocket:]): Set Stream's eofPosition properly.
Leave Stream's position at zero.
(InPortAcceptedClientNotification): New notification string.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1063 72102866-910b-0410-8b05-ffd578937521
1996-03-06 14:35:57 +00:00
Andrew McCallum
7d8460ea0e ([TcpInPort -numberOfConnectedOutPorts]): New method.
([TcpInPort -_connectedOutPortInvalidated:]): Post an
InPortClientBecameInvalidNotification.
([TcpInPort -portNumber]): New method.
([TcpInPort -description]): New method.
([TcpOutPort +newWithAcceptedSocket:inPort:]): Fill in the _address
ivar.
([TcpOutPort -portNumber]): New method.
([TcpOutPort -description]): New method.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1039 72102866-910b-0410-8b05-ffd578937521
1996-03-03 00:40:46 +00:00
Andrew McCallum
87e9935a0b New file.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1022 72102866-910b-0410-8b05-ffd578937521
1996-03-01 16:06:57 +00:00