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