12015-12-24  Steven Eker  <eker@ape.csl.sri.com>
2
3	* objectMap.cc (dagNodeLt): made dagNodeLt::operator() const
4
5	* configSymbol.hh (ACU_Symbol): made symbolLt::operator() const
6
7	* objectSystemRewritingContext.hh (RewritingContext): made
8	dagNodeLt::operator() const
9
102015-12-18  Steven Eker  <eker@ape.csl.sri.com>
11
12	* socketStuff.cc (createClientTcpSocket): use
13	makeZeroTerminatedString()
14	(send): use empty()
15	(send): use makeZeroTerminatedString() member function
16	(send): use length() rather than size()
17
18	* socketOutcomes.cc (receivedMsgReply): crope -> Rope
19
20	* socketStuff.cc: crope -> Rope
21
22	* socketManagerSymbol.hh: crope -> Rope
23
24===================================Maude108a===========================================
25
262014-02-06  Steven Eker  <eker@ape.csl.sri.com>
27
28	* pseudoThread.cc (processCallBacks): added comment
29	(eventLoop): fix a bug where we were putting wait in a shadowing
30	variable
31
32===================================Maude100a===========================================
33
342012-11-09  Steven Eker  <eker@ape.csl.sri.com>
35
36	* pseudoThread.cc (processFds): update idea of time after poll() call
37	(eventLoop): rewritten so we can never return 0; we loop until we
38	handle an event, get interrupted or there are no pending call backs
39
40	* pseudoThread.hh (P): added comments explaining the arguments to
41	public member functions; removed default argument value for
42	requestCallBack()
43	(CallBackRequest, <): moved out of class declaration
44
452012-11-08  Steven Eker  <eker@ape.csl.sri.com>
46
47	* pseudoThread.cc (processFds): fix bugs where we were writing
48	wrong thing into info.flags in POLLIN and POLLOUT cases; code
49	cleaning
50
512012-10-19  Steven Eker  <eker@ape.csl.sri.com>
52
53	* socketManagerSymbol.hh (PseudoThread): updated decl for
54	getActiveSocket()
55
56	* socketStuff.cc (getActiveSocket): pass back pointer to
57	ActiveSocket object
58	(acceptClient): use ActiveSocket pointer
59	(send): use ActiveSocket pointer
60	(receive): use ActiveSocket pointer
61	(closeSocket, cleanUp): pass extra argument to getActiveSocket
62
63	* socketOutcomes.cc (acceptedClientReply): don't set state here
64
65	* socketStuff.cc (acceptClient): set state on new accept socket here
66
67	* socketAsync.cc (doWrite): set state after call to createdSocketReply()
68	(doRead): set state on new accept socket here
69
70	* socketOutcomes.cc (createdSocketReply): don't set state here
71
72	* socketStuff.cc (createServerTcpSocket): changed comment on line
73	that sets state
74	(createClientTcpSocket): set state here rather than rely on
75	createdSocketReply()
76
77	* socketAsync.cc (doRead): commented out superfluous access of
78	activeSockets
79
802012-10-16  Steven Eker  <eker@ape.csl.sri.com>
81
82	* socketManagerSymbol.cc (ActiveSocket): added in order to fix a
83	bug that we were implicitly deleting (via map) ActiveSockets with
84	an uninitialized textArray field
85
86	* socketManagerSymbol.hh (PseudoThread): added decl for explicit
87	ActiveSocket ctor
88
89===================================Maude96b===========================================
90
912011-12-31  Steven Eker  <eker@rho>
92
93	* socketManagerSymbol.cc (ActiveSocket): added
94
95	* socketManagerSymbol.hh (class SocketManagerSymbol): replace text with textArray in struct
96	ActiveSocket
97
98	* socketStuff.cc (SocketManagerSymbol::send): fix bug where we were extracting a c_str() from
99	a rope that then went out of scope, potentially before we were finished with the const char*
100	from c_str()
101	(SocketManagerSymbol::send): check errno == EWOULDBLOCK for POSIX compliance
102
103===================================Maude95c===========================================
104
1052009-01-29  Steven Eker  <eker@goo.csl.sri.com>
106
107	* socketManagerSymbol.cc (attachData, attachSymbol, copyAttachments)
108	(getDataAttachments, getSymbolAttachments): call
109	ExternalObjectManagerSymbol functions rather the FreeSymbol
110	functions
111
112===================================Maude92===========================================
113
1142008-09-11  Steven Eker  <eker@goo.csl.sri.com>
115
116	* socketAsync.cc (doError, doWrite): added #ifdef NO_ASSERT to
117	avoid compiler warning
118
119	* socketStuff.cc (createClientTcpSocket): delete decl of unused
120	domain variable
121
122===================================Maude91a===========================================
123
1242005-04-29  Steven Eker  <eker@goo.csl.sri.com>
125
126	* socketStuff.cc (createClientTcpSocket, createServerTcpSocket)
127	(acceptClient, send, receive, closeSocket): most DebugAdvisory()s
128	turned into IssueAdvisory()s
129
1302005-04-15  Steven Eker  <eker@goo.csl.sri.com>
131
132	* socketStuff.cc (receive): added extra DebugAdvisory()
133
134===================================Maude86a===========================================
135
1362005-03-15  Steven Eker  <eker@goo.csl.sri.com>
137
138	* socketStuff.cc (createServerTcpSocket): set SO_REUSEADDR flag
139
1402005-03-14  Steven Eker  <eker@goo.csl.sri.com>
141
142	* socketStuff.cc (createServerTcpSocket): make DebugAdvisory()
143	more elaborate
144
145	* objectSystemRewritingContext.cc (ObjectSystemRewritingContext):
146	added DebugAdvisory() to check for server sockets not being closed
147	after ^C
148
149===================================Maude86===========================================
150
1512004-12-23  Steven Eker  <eker@goo.csl.sri.com>
152
153	* socketAsync.cc (doError): use getsockopt() for more accurate
154	error message
155
156	* socketStuff.cc (send): don't accept 0 length sends
157	(send): don't accept send unless socket is in a suitable state
158	(receive): don't accept receive unless socket is in a suitable
159	state
160
1612004-12-22  Steven Eker  <eker@goo.csl.sri.com>
162
163	* socketAsync.cc (doWrite): new closedSocketReply() convention
164	(doRead): new closedSocketReply() convention
165	(doError): new closedSocketReply() convention
166	(doHungUp): new closedSocketReply() convention
167
168	* socketStuff.cc (getDomain): deleted
169	(send): new closedSocketReply() convention
170	(receive): new closedSocketReply() convention
171
172	* socketManagerSymbol.hh (class SocketManagerSymbol): updated decl
173	for closedSocketReply()
174	(class SocketManagerSymbol): deleted decl for getDomain()
175
176	* socketOutcomes.cc (closedSocketReply): handle errorMessage arg
177
178	* socketStuff.cc (createClientTcpSocket): new message format
179	(createServerTcpSocket): new message format, check that backlog > 0
180
181	* socketSignature.cc: updated decls for createClientTcpSocketMsg,
182	createServer, TcpSocketMsg, receiveMsg, closedSocketMsg
183
184	* socketAsync.cc (doRead): handle accept case
185
186	* socketStuff.cc (createClientTcpSocket): use setonblockingFlag()
187	(createServerTcpSocket): use setNonblockingFlag()
188	(acceptClient): use setNonblockingFlag()
189
190	* socketManagerSymbol.hh (class SocketManagerSymbol): added decl
191	for setNonblockingFlag()
192
193	* socketStuff.cc (setNonblockingFlag): added
194
195	* socketManagerSymbol.hh (class SocketManagerSymbol): added decl
196	for acceptedClientReply()
197
198	* socketOutcomes.cc (acceptedClientReply): added
199
2002004-12-21  Steven Eker  <eker@goo.csl.sri.com>
201
202	* socketStuff.cc (acceptClient): implemented
203
204	* socketSignature.cc (MACRO): updated decls for
205	createServerTcpSocketMsg and acceptedClientMsg
206
207	* socketManagerSymbol.hh (class SocketManagerSymbol): added
208	LISTENING and WAITING_TO_ACCEPT to enum SocketState
209
210	* socketStuff.cc (createServerTcpSocket): implemented
211
212	* socketAsync.cc (doError): implemented
213	(doHungUp): implemented
214
215	* socketStuff.cc (cleanUp): call PseudoThread::clearFlags()
216
2172004-12-20  Steven Eker  <eker@goo.csl.sri.com>DebugAdvisory()
218
219	* socketStuff.cc (receive): handle async read
220	(send): hande async write
221	(createClientTcpSocket): allow nonblocking sockets
222
223	* socketAsync.cc (doWrite): handle async write
224
225	* socketManagerSymbol.hh (class SocketManagerSymbol): added decl
226	for sentMsgReply()
227
228	* socketOutcomes.cc (sentMsgReply): added
229
230	* socketManagerSymbol.hh (class SocketManagerSymbol): added text,
231	unsent and nrUnsent members to struct ActiveSocket
232
233	* socketAsync.cc (doRead): handle error and zero byte cases by
234	closing socket
235
236	* socketStuff.cc (receive): use strerror() in place of
237	sys_errlist[]
238	(createClientTcpSocket): DebugAdvisory() for unexpected connect()
239	error
240	(createClientTcpSocket): added DebugAdvisory() for declined
241	message
242	(closeSocket): added DebugAdvisory() for declined message
243	(receive): added DebugAdvisory() for declined message
244	(send): added DebugAdvisory() for declined message
245	(acceptClient, createServerTcpSocket): added DebugAdvisory() for
246	declined message
247	(createClientTcpSocket): added more DebugAdvisory()s
248
2492004-12-17  Steven Eker  <eker@goo.csl.sri.com>
250
251	* socketStuff.cc (receive): handle interrupts during read()
252	(receive): treat unrecognized error messages as a far end close
253
254	* socketAsync.cc (doRead): implemented
255
256	* socketStuff.cc (receive): use closedSocketReply()
257	(closeSocket): use closedSocketReply()
258
259	* socketOutcomes.cc (closedSocketReply): added
260
261	* socketManagerSymbol.hh (class SocketManagerSymbol): added enum Sizes
262
263	* socketStuff.cc (receive): use receivedMsgReply()
264
265	* socketManagerSymbol.hh (class SocketManagerSymbol): added decl
266	for receivedMsgReply()
267
268	* socketOutcomes.cc (receivedMsgReply): added
269
270	* socketManagerSymbol.hh (class SocketManagerSymbol): added
271	NOMINAL, WAITING_TO_READ, WAITING_TO_WRITE to enum SocketState,
272	removed READY_TO_SEND
273
2742004-12-16  Steven Eker  <eker@goo.csl.sri.com>
275
276	* socketAsync.cc (doWrite): handle async connects
277
278	* socketManagerSymbol.hh (class SocketManagerSymbol): added
279	WAITING_TO_CONNECT to enum SocketState
280
281	* socketAsync.cc (doRead, doWrite, doError, doHungUp): moved here
282
283	* socketStuff.cc (createClientTcpSocket): use createdSocketReply()
284	(createClientTcpSocket): don't accept badly formed messages
285
286	* socketManagerSymbol.hh (class SocketManagerSymbol): added decl
287	for createdSocketReply()
288
289	* socketOutcomes.cc (errorReply): moved here
290	(createdSocketReply): addded
291
292	* socketManagerSymbol.hh (class SocketManagerSymbol): added
293	lastMessage and context fields to struct ActiveSocket
294
2952004-12-06  Steven Eker  <eker@goo.csl.sri.com>
296
297	* socketStuff.cc: include netinet/in.h
298
2992004-10-08  Steven Eker  <eker@goo.csl.sri.com>
300
301	* pseudoThread.cc: added #include <errno.h>
302
3032004-08-03  Steven Eker  <eker@goo.csl.sri.com>
304
305	* configSymbol.cc (ruleRewrite): only do external stuff if mode is
306	external; put check for incoming external messages in second loop
307	rather than first
308
309	* socketManagerSymbol.hh (class SocketManagerSymbol): added decl
310	for 2nd closeSocket()
311
312	* socketStuff.cc (closeSocket): added 2nd version
313	(closeSocket): use other closeSocket()
314	(receive): handle far end closed
315
3162004-08-02  Steven Eker  <eker@goo.csl.sri.com>
317
318	* objectSystemRewritingContext.cc (~ObjectSystemRewritingContext):
319	added
320
321	* objectSystemRewritingContext.hh (class
322	ObjectSystemRewritingContext): adde decl for dtor
323
324	* socketManagerSymbol.hh (class SocketManagerSymbol): added decl
325	for cleanUp()
326
327	* socketStuff.cc (closeSocket): erase closed socket from
328	activeSockets
329
330	* externalObjectManagerSymbol.hh (class
331	ExternalObjectManagerSymbol): added decl for cleanUp()
332
333	* socketStuff.cc (closeSocket): fixed bug where we were sending
334	back sentMsg
335
3362004-07-30  Steven Eker  <eker@goo.csl.sri.com>
337
338	* objectSystemRewritingContext.cc (getExternalMessages): added
339	(offerMessageExternally): added
340
341	* objectSystemRewritingContext.hh (class
342	ObjectSystemRewritingContext): added decls for
343	getExternalMessages() and offerMessageExternally()
344
345	* configSymbol.cc (ruleRewrite): call getExternalMessages() and
346	offerMessageExternally()
347
348	* objectSystem.hh: added ExternalObjectManagerSymbol
349
350	* socketStuff.cc (closeSocket): use deleteExternalObject()
351	(createClientTcpSocket): use addExternalObject()
352
353	* objectSystemRewritingContext.hh (class
354	ObjectSystemRewritingContext): added decls for
355	addExternalObject(), deleteExternalObject()
356
357	* objectSystemRewritingContext.cc (markReachableNodes): rewritten
358	(addExternalObject): added
359	(deleteExternalObject): added
360
361	* objectSystemRewritingContext.hh (class
362	ObjectSystemRewritingContext): turned class MessageMap into a typedef
363	(class ObjectSystemRewritingContext): added typedef for ObjectSet
364	and data member externalObjects; added decl for
365	markReachableNodes(); messageMap becomes incomingMessages
366
3672004-07-29  Steven Eker  <eker@goo.csl.sri.com>
368
369	* objectSystemRewritingContext.cc (markReachableNodes): added
370
371	* objectSystemRewritingContext.hh (class
372	ObjectSystemRewritingContext): added class MessageMap and
373	dagNodeLt()
374
375	* objectSystemRewritingContext.cc: created
376
377	* externalObjectManagerSymbol.hh (class
378	ExternalObjectManagerSymbol): updated decls for use
379	ObjectSystemRewritingContext&
380
381	* socketStuff.cc (errorReply): implemented
382
383	* objectSystemRewritingContext.hh (class
384	ObjectSystemRewritingContext): added deck for bufferMessage()
385	(bufferMessage): added stub
386
387	* socketManagerSymbol.hh (class SocketManagerSymbol): updated many
388	declarations
389
390	* socketStuff.cc (createClientTcpSocket): take
391	ObjectSystemRewritingContext&
392	(createServerTcpSocket): take ObjectSystemRewritingContext&
393	(acceptClient): take ObjectSystemRewritingContext&
394	(send): take ObjectSystemRewritingContext&
395	(receive): take ObjectSystemRewritingContext&
396	(closeSocket): take ObjectSystemRewritingContext&
397
398	* socketManagerSymbol.cc (handleManagerMessage): take
399	ObjectSystemRewritingContext&
400	(handleMessage): take ObjectSystemRewritingContext&
401
4022004-07-28  Steven Eker  <eker@goo.csl.sri.com>
403
404	* socketManagerSymbol.hh (class SocketManagerSymbol): added decls
405	for getText() and getActiveSocket()
406
407	* socketStuff.cc (getActiveSocket): added
408	(getText): added
409
4102004-07-23  Steven Eker  <eker@goo.csl.sri.com>
411
412	* pseudoThread.cc (doCallBack): added
413
414	* socketManagerSymbol.hh (class SocketManagerSymbol): derive from
415	PseudoThread
416	(class SocketManagerSymbol): added enum SocketState, struct
417	ActiveSocket, typedef SocketMap, data member activeSockets
418
419	* socketStuff.cc (getDomain): added
420
421	* pseudoThread.cc (processCallBacks): rewritten
422
423	* pseudoThread.hh (class PseudoThread): updated decls for
424	processCallBacks() and processFds()
425
426	* pseudoThread.cc (eventLoop): rewritten
427	(processFds): rewritten
428
429	* pseudoThread.hh (class PseudoThread): added enum ReturnStatus;
430	updated decl for eventLoop()
431
4322004-07-21  Steven Eker  <eker@goo.csl.sri.com>
433
434	* pseudoThread.hh: created
435
436	* pseudoThread.cc: created
437
4382004-07-14  Steven Eker  <eker@goo.csl.sri.com>
439
440	* socketManagerSymbol.hh (class SocketManagerSymbol): added decls
441	for getProtocol(), getPort(), errorReply()
442
443	* socketManagerSymbol.cc (handleManagerMessage): added
444
445	* externalObjectManagerSymbol.hh (class
446	ExternalObjectManagerSymbol): added decl for handleManangerMessage()
447
448	* socketManagerSymbol.hh (class SocketManagerSymbol): added decls
449	for createClientTcpSocket(), createServerTcpSocket(),
450	acceptClient(), send(), receive(), closeSocket()
451
452	* socketStuff.cc: created
453
454	* socketManagerSymbol.cc (handleMessage): added
455
456	* socketManagerSymbol.hh (class SocketManagerSymbol): derive from
457	ExternalObjectManagerSymbol
458
459	* socketManagerSymbol.cc (SocketManagerSymbol): call
460	ExternalObjectManagerSymbol()
461
462	* externalObjectManagerSymbol.cc: created
463
464	* externalObjectManagerSymbol.hh: created
465
4662004-07-13  Steven Eker  <eker@goo.csl.sri.com>
467
468	* socketManagerSymbol.hh (class SocketManagerSymbol): added decls
469	for getDataAttachments() and getSymbolAttachments()
470
471	* socketManagerSymbol.cc (getDataAttachments): added
472	(getSymbolAttachments): added
473
4742004-07-12  Steven Eker  <eker@goo.csl.sri.com>
475
476	* socketManagerSymbol.cc (attachTerm): deleted
477	(copyAttachments): added
478
479	* socketManagerSymbol.hh (class SocketManagerSymbol): deleted decl
480	for attachTerm(); added decl for copyAttachments()
481
482	* socketManagerSymbol.cc (SocketManagerSymbol): use
483	socketSignature.cc
484	(attachSymbol): use socketSignature.cc
485	(attachData): use NULL_DATA()
486	(attachSymbol): use BIND_SYMBOL()
487
488	* socketManagerSymbol.hh (MACRO): use socketSignature.cc
489
490	* socketSignature.cc: created
491
492	* objectSystem.hh: deleted class ExternalObjectManager
493
494	* socketManager.cc: deleted
495
496	* socketManager.hh: deleted
497
498	* externalObjectManager.cc: deleted
499
500	* externalObjectManager.hh: deleted
501
5022004-07-09  Steven Eker  <eker@goo.csl.sri.com>
503
504	* socketManagerSymbol.cc: created
505
506	* socketManagerSymbol.hh: created
507
5082004-07-07  Steven Eker  <eker@goo.csl.sri.com>
509
510	* socketManager.cc: created
511
512	* socketManager.hh: created
513
514	* objectSystem.hh: added class ExternalObjectManager
515
5162004-06-30  Steven Eker  <eker@goo.csl.sri.com>
517
518	* externalObjectManager.cc: created
519
520	* externalObjectManager.hh: created
521
522===================================Maude84d===========================================
523
5242003-05-23  Steven Eker  <eker@goo.csl.sri.com>
525
526	* configSymbol.cc (compileRules): use isNonexec(); no longer check
527	for unbound variables
528	(ruleRewrite): added a call to tracePreRuleRewrite()
529
5302003-05-21  Steven Eker  <eker@goo.csl.sri.com>
531
532	* configSymbol.cc (ruleRewrite): use leftOverRewrite()
533
534	* configSymbol.hh (class ConfigSymbol): added decl for
535	leftOverRewrite()
536
537	* configSymbol.cc (resetRules): added
538	(compileRules): fill out leftOver
539	(objMsgRewrite): attempt rule fairness
540	(compileRules): only put rule that have no unbound variables in
541	leftOver
542	(leftOverRewrite): added
543
544	* configSymbol.hh (class ConfigSymbol): added decl for resetRules()
545
546	* configSymbol.cc (checkArgs): chech that object and message
547	patterns are stable
548	(compileRules): fill out ruleMap
549	(objMsgRewrite): take messageSymbol arg
550	(ruleRewrite): use new objMsgRewrite() semantics
551
552	* configSymbol.hh (class ConfigSymbol): added struct symbolLt and
553	struct RuleSet, typedef RuleMap and data members ruleMap and
554	leftOvers; deleted data member objMsgRules
555
556	* configSymbol.cc (ConfigSymbol): don't init mode
557	(ruleRewrite): use ObjectSystemRewritingContext
558
559	* configSymbol.hh (class ConfigSymbol): delete enum Mode, data
560	memeber mode and decl for setMode();
561	(setMode): deleted
562	(class ConfigSymbol): deleted struct AutomatonPair
563
564	* objectSystem.hh: added class ObjectSystemRewritingContext
565
566	* objectSystemRewritingContext.hh (class
567	ObjectSystemRewritingContext): created
568
5692003-05-20  Steven Eker  <eker@goo.csl.sri.com>
570
571	* configSymbol.cc (objMsgRewrite): use objMsgRules
572	(compileRules): use objMsgRules
573	(ruleRewrite): handle mode
574	(ruleRewrite): rewrote obj-msg recognition loop; use Asserts()
575	that DagArgumentIterators are valid; handle duplicate object more
576	gracefully
577
578	* configSymbol.hh (class ConfigSymbol): dleted data member
579	automatonPairs; added data members mode and objMsgRules
580
5812003-05-19  Steven Eker  <eker@goo.csl.sri.com>
582
583	* configSymbol.cc (ruleRewrite): rewritten using objMsgRewrite()
584	and retrieveObject()
585
586	* configSymbol.hh (class ConfigSymbol): added decls for
587	objMsgRewrite() and retrieveObject()
588	(class ConfigSymbol): added enum Mode
589
590	* configSymbol.cc (objMsgRewrite): added
591	(retrieveObject): added
592
593	* remainder.cc: created
594
595	* configSymbol.cc (ConfigSymbol): pass useTree = false to
596	ACU_Symbol()
597
598	* objectMap.cc: moved ObjectMap decls here
599	(dump): added
600
601	* configSymbol.cc (markReachableNodes): use FOR_EACH_CONST()
602	(markReachableNodes): use FOR_EACH_CONST()
603
604===================================Maude80a===========================================
605
6062003-02-25  Steven Eker  <eker@goo.csl.sri.com>
607
608	* configSymbol.cc: removed #pragma
609	(checkArgs): updated Assert()
610
611	* configSymbol.hh: removed #pragma
612
613===================================Maude79===========================================
614
6152001-04-20  Steven Eker  <eker@goo.csl.sri.com>
616
617	* configSymbol.hh (class ConfigSymbol): added struct MessageQueue,
618	struct dagNodeLt, class ObjectMap
619	(class ConfigSymbol): added struct AutomatonPair and data member
620	automatonPairs
621
622	* configSymbol.cc (checkArgs): added
623
6242001-04-17  Steven Eker  <eker@goo.csl.sri.com>
625
626	* configSymbol.hh: created
627
628	* objectSystem.hh: created
629
630