Commit graph

1583 commits

Author SHA1 Message Date
Andrew McCallum
ae9d7fa426 Fix packet type.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1137 72102866-910b-0410-8b05-ffd578937521
1996-03-13 02:38:33 +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
e6637ea4b5 ([RunLoop -removeFileDescriptor:forMode:]): Add debugging message.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1135 72102866-910b-0410-8b05-ffd578937521
1996-03-13 02:35:25 +00:00
Andrew McCallum
3b390395b2 ([InPort -setReceivedPacketInvocation:]): Assert that
_packet_invocation isn't already set.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1134 72102866-910b-0410-8b05-ffd578937521
1996-03-13 02:34:55 +00:00
Andrew McCallum
4009d73c8c ([NSGSet -member:]): Return value.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1133 72102866-910b-0410-8b05-ffd578937521
1996-03-13 02:34:37 +00:00
Andrew McCallum
28bd665d46 ([ConstantIndexedCollection -firstObject]): Return nil if emtpy.
([ConstantIndexedCollection -lastObject]): Likewise.
([ConstantIndexedCollection -prevObjectWithEnumState:]): Use -1 to
deal with reversals at extremes.
([ConstantIndexedCollection -nextObjectWithEnumState:]): Use [self
count] to deal with reversals at extremes.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1132 72102866-910b-0410-8b05-ffd578937521
1996-03-13 02:34:22 +00:00
Andrew McCallum
a4b77d360c (in_port_2_ancestor): New static variable.
([Connection +initialize]): Initialize it.
([Connection +newForInPort:outPort:ancestorConnection:]): Use new
static variable to handle ancestor; (ignore ancestor argument; the
method name will be changed later).  Set the in-port's packet
invocation to the Connection class. Don't call -addToRunLoop.. here,
the mechanics of it were already done above.
([Connection -addToRunLoop:forMode:]): Mark it as not implemented, for
now.
([Connection -runConnectionUntilDate:]): Don't add to run loop here.
([Connection +invokeWithObject:]): Make it a class method instead of
an instance method; alter contents appropriately for this.
([Connection -portIsInvalid:]): Look at in_port_2_ancestor and remove
ourselves if necessary.
([Connection -invalidate]): Don't remove ourselves from the run loop
here, because we may not be the only one listening.  This still needs
fixing.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1131 72102866-910b-0410-8b05-ffd578937521
1996-03-13 02:32:46 +00:00
Andrew McCallum
775eb86a05 ([ConnectedEncoder -dismiss]): Fix typo in sendPacket: call.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1130 72102866-910b-0410-8b05-ffd578937521
1996-03-13 02:26:24 +00:00
Andrew McCallum
f2ccdab2ce Several minor fixes to return types and return values.
([ReverseEnumerator -nextObject]): Pass pointer to enum_state.
([ConstantIndexedCollection -prevObjectWithEnumState:]): Method
overhauled.
([ConstantIndexedCollection -nextObjectWithEnumState:]): Likewise.
([ConstantIndexedCollection -newEnumState]): New method.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1129 72102866-910b-0410-8b05-ffd578937521
1996-03-12 20:39:58 +00:00
Andrew McCallum
2c829084eb Added more news about collections, invocations, notifications,
thread-safety, hashes and maps, etc.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1128 72102866-910b-0410-8b05-ffd578937521
1996-03-12 20:04:15 +00:00
Andrew McCallum
eb74e072ff Remove #include of objects/elt.h.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1127 72102866-910b-0410-8b05-ffd578937521
1996-03-12 19:49:33 +00:00
Andrew McCallum
b1eb75963d Remove #include of objects/eltfuncs.h.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1126 72102866-910b-0410-8b05-ffd578937521
1996-03-12 19:48:47 +00:00
Andrew McCallum
a0e603c0cd Remove #include of objects/collhash.h.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1125 72102866-910b-0410-8b05-ffd578937521
1996-03-12 19:48:05 +00:00
Andrew McCallum
8a6b87d429 Declare new methods and classes.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1124 72102866-910b-0410-8b05-ffd578937521
1996-03-12 19:45:24 +00:00
Andrew McCallum
f9e74bde31 Declare new method.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1123 72102866-910b-0410-8b05-ffd578937521
1996-03-12 19:45:11 +00:00
Andrew McCallum
1d71f2259c Declare new methods. Type arguments with InPort and OutPort, not just
Port.
(Connection reply_depth): New ivar.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1122 72102866-910b-0410-8b05-ffd578937521
1996-03-12 19:44:34 +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
4dce3fd8d6 Debugging messages conditioned on debug_run_loop.
([RunLoop -runOnceBeforeDate:forMode:]): New method.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1120 72102866-910b-0410-8b05-ffd578937521
1996-03-12 19:42:45 +00:00
Andrew McCallum
6050415646 ([Port +outPacketClass]): Method renamed from packetClass.
([Port -outPacketClass]): Likewise.
([InPort -setReceivedPacketInvocation:]): Method renamed from
setPacketInvocation.
([OutPort -sendPacket:]): Method renamed from -sendPacket:withTimeout:.
(OutPacket, InPacket): New classes, replacing Packet class.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1119 72102866-910b-0410-8b05-ffd578937521
1996-03-12 19:42:10 +00:00
Andrew McCallum
7410f0818d ([MemoryStream -initWithCapacity:prefix:]): New method.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1118 72102866-910b-0410-8b05-ffd578937521
1996-03-12 19:40:30 +00:00
Andrew McCallum
cce7a64779 Remove old-style methods for getting incoming ConnectedCoders. Add
new methods that use RunLoop.  All callers changed.
([Connection -addToRunLoop:forMode:]): New method.
([Connection -removeFromRunLoop:forMode:]): New method.
([Connection -runConnectionUntilDate:]): New method.
([Connection -runConnection]): Method changed to call above method.
([Connection -_handleRmc:]): New method.
([Connection -_handleQueuedRmcRequests]): New method.
([Connection -_getReceivedReplyRmcFromQueueWithSequenceNumber:]): New
method.
([Connection -_getReceivedReplyRmcWithSequenceNumber:]): New method.
([Connection -invokeWithObject:]): New method.
([Connection +newForInPort:outPort:ancestorConnection:]): Set
reply_depth ivar.
([Connection -_encoderCreateReferenceForConstPtr:]): Return the xref!


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1117 72102866-910b-0410-8b05-ffd578937521
1996-03-12 19:40:16 +00:00
Andrew McCallum
17093e1111 ([ConnectedDecoder +newDecodingWithPacket:connection:]): New method.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1116 72102866-910b-0410-8b05-ffd578937521
1996-03-12 19:36:13 +00:00
Andrew McCallum
5f0b7b4d69 Updated for new RunLoop.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1115 72102866-910b-0410-8b05-ffd578937521
1996-03-12 19:20:07 +00:00
Andrew McCallum
3417862743 *** empty log message ***
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1114 72102866-910b-0410-8b05-ffd578937521
1996-03-12 15:39:13 +00:00
Andrew McCallum
a2f89eeb5a (TcpInPort _run_loop, _run_loop_mode): New ivars.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1113 72102866-910b-0410-8b05-ffd578937521
1996-03-12 14:57:08 +00:00
Andrew McCallum
ca33981cce Declare new methods.
(Port _packet_invocation): New ivar.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1112 72102866-910b-0410-8b05-ffd578937521
1996-03-12 14:56:43 +00:00
Andrew McCallum
0347b4349f ([NotificationDispatcher +defaultInstance): Declare new method.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1111 72102866-910b-0410-8b05-ffd578937521
1996-03-12 14:55:49 +00:00
Andrew McCallum
4275c2c40d (Notifying): New protocol.
(NotificationPosting): New protocol.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1110 72102866-910b-0410-8b05-ffd578937521
1996-03-12 14:55:22 +00:00
Andrew McCallum
8e71e638a8 Declare new method.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1109 72102866-910b-0410-8b05-ffd578937521
1996-03-12 14:54:34 +00:00
Andrew McCallum
ab0cc7c2ac (ConstantArray): Inherit from ConstantIndexedCollection, not
IndexedCollection.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1108 72102866-910b-0410-8b05-ffd578937521
1996-03-12 14:54: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
c7560c1d06 ([InPort -init]): Set _packet_invocation.
([InPort -setPacketInvocation:]): New method.
([InPort -addToRunLoop:forMode:]): New method.
([InPort -removeFromRunLoop:forMode:]): New method.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1106 72102866-910b-0410-8b05-ffd578937521
1996-03-12 14:50:46 +00:00
Andrew McCallum
1400e225cd ([NotificationDispatcher +defaultInstance]): New method.
([NotificationDispatcher -removeObserver:name:object:]): Remove
handling of non-existance _nil_observer_array.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1105 72102866-910b-0410-8b05-ffd578937521
1996-03-12 14:49:02 +00:00
Andrew McCallum
7e9fbfc9ac Many small formatting changes.
(UNIX_REFERENCE_INTERVAL): Macro renamed from UNIX_OFFSET.
([NSConcreteDate -timeIntervalSinceNow]): New method.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1104 72102866-910b-0410-8b05-ffd578937521
1996-03-12 14:48:07 +00:00
Andrew McCallum
01e6c781ee (CFLAGS): Add -Wall.
(GNU_MFILES): Add RunLoop.m.
(GNU_HEADERS): Add objects/RunLoop.h.
(GNUSTEP_MFILES): Add NSTimer.m.
(GNUSTEP_HEADERS): Add Foundation/NSTimer.h.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1103 72102866-910b-0410-8b05-ffd578937521
1996-03-12 14:46:20 +00:00
Andrew McCallum
88bd7036a3 (return_retained): Change macro from 1 to 0.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1102 72102866-910b-0410-8b05-ffd578937521
1996-03-12 14:44:47 +00:00
Andrew McCallum
e857abdc62 Declare NSTimer class interface.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1101 72102866-910b-0410-8b05-ffd578937521
1996-03-12 14:44:22 +00:00
Andrew McCallum
6258794c83 Formatting change.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1100 72102866-910b-0410-8b05-ffd578937521
1996-03-12 14:43:55 +00:00
Andrew McCallum
8878d34fc3 ([Connection -isValid]): New method.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1099 72102866-910b-0410-8b05-ffd578937521
1996-03-12 14:43:30 +00:00
Andrew McCallum
6eb2c1dadd Changes by Scott Christley.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1098 72102866-910b-0410-8b05-ffd578937521
1996-03-11 20:25:36 +00:00
Andrew McCallum
642a35cd83 New file.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1097 72102866-910b-0410-8b05-ffd578937521
1996-03-11 20:22:20 +00:00
Andrew McCallum
ec380ef78f ([IndexedCollection +initialize]): Compare self with
IndexedCollection, not KeyedCollection.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1096 72102866-910b-0410-8b05-ffd578937521
1996-03-11 17:02:02 +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
6c6372b7f1 (main): Use new notification interface.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1094 72102866-910b-0410-8b05-ffd578937521
1996-03-07 18:15:50 +00:00
Andrew McCallum
88ce6294af (announce_new_port): New function.
(announce_broken_port): New function.
(main): Register them for notifications; let user choose registered
name on command line.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1093 72102866-910b-0410-8b05-ffd578937521
1996-03-07 18:15:25 +00:00
Andrew McCallum
148267ae25 Fix typo.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1092 72102866-910b-0410-8b05-ffd578937521
1996-03-07 18:14:41 +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
090baa7b50 Assert that the connection is valid in several places.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1090 72102866-910b-0410-8b05-ffd578937521
1996-03-07 18:09:06 +00:00
Andrew McCallum
1d5160b3ca Assert is_valid in many places.
([Connection +newForInPort:outPort:ancestorConnection:]): Set is_valid
to 1.  Only ask for notification of out port death if out port is non-nil.
([Connection -portIsInvalid:]): Properly get the port from the
notification object.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1089 72102866-910b-0410-8b05-ffd578937521
1996-03-07 18:08:24 +00:00
Andrew McCallum
f8753a41c1 ([Port -invalidate]): Insist that is_valid is true at the beginning of
this method, don't test it and skip the body of this method.  Force
users to be careful about calling -invalidate more than once.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1088 72102866-910b-0410-8b05-ffd578937521
1996-03-07 02:30:04 +00:00