Commit Graph

650 Commits

Author SHA1 Message Date
Tony Garnock-Jones 68db114840 Factor generic stream stuff out of tcp.rkt into stream.rkt 2021-06-17 15:26:14 +02:00
Tony Garnock-Jones cf93327ed6 Services and service activation 2021-06-17 14:57:06 +02:00
Tony Garnock-Jones 0ab3526cba Services and service activation 2021-06-17 14:57:06 +02:00
Tony Garnock-Jones 373fb77fc3 Make distributed/tcp-server respect TcpListenError 2021-06-17 13:43:01 +02:00
Tony Garnock-Jones 6cfe8c2ba4 `when` -> `on`; StreamConnection API; better `this-target`; tcp-listen errors
- spec-generic StreamConnection translators, for simple TCP API
 - `when` -> `on`, better use for event-expanders
 - Removal of special processing of `at`, making `this-target` properly lexically scopeable
 - TcpListenError and handling of tcp-listen errors
 - SYNDICATE_COLUMNS for pretty-printing of dataspace traces
 - Repair driver-support.rkt thread shutdown turn-taking
 - Refinements to stream protocols and implementation
 - Improvements to syntax location preservation in syntax.rkt
2021-06-17 13:38:30 +02:00
Tony Garnock-Jones ac8ea67ab1 `when` -> `on`; StreamConnection API; better `this-target`; tcp-listen errors
- spec-generic StreamConnection translators, for simple TCP API
 - `when` -> `on`, better use for event-expanders
 - Removal of special processing of `at`, making `this-target` properly lexically scopeable
 - TcpListenError and handling of tcp-listen errors
 - SYNDICATE_COLUMNS for pretty-printing of dataspace traces
 - Repair driver-support.rkt thread shutdown turn-taking
 - Refinements to stream protocols and implementation
 - Improvements to syntax location preservation in syntax.rkt
2021-06-17 13:38:30 +02:00
Tony Garnock-Jones a43b6d39aa Downgrade a log-warning to a log-debug 2021-06-16 21:56:40 +02:00
Tony Garnock-Jones b6bc816daf Split out experimental "stream" protocols; make tcp.rkt use them; more inertness checks
Also, a few other important changes:
 - Better printing of entity-ref structs
 - Inertness checks on assertion retraction (!) and preventer-disarm
 - Correct selection of active facet during dataflow recomputations
 - Repair silly omission in turn-assert/dataflow!
2021-06-16 21:44:07 +02:00
Tony Garnock-Jones d30c6feeee Split out experimental "stream" protocols; make tcp.rkt use them; more inertness checks
Also, a few other important changes:
 - Better printing of entity-ref structs
 - Inertness checks on assertion retraction (!) and preventer-disarm
 - Correct selection of active facet during dataflow recomputations
 - Repair silly omission in turn-assert/dataflow!
2021-06-16 21:44:07 +02:00
Tony Garnock-Jones ab9168a5ea Better facet printing 2021-06-15 14:49:34 +02:00
Tony Garnock-Jones 44bee78044 stop-actor-system 2021-06-15 14:26:19 +02:00
Tony Garnock-Jones 3fe5d3a343 Check for EOF even when there are no credits 2021-06-15 14:03:26 +02:00
Tony Garnock-Jones 2b18bb5b36 Fix ordering of credit issue 2021-06-15 13:58:26 +02:00
Tony Garnock-Jones cf99f2e2b3 Extra engine debug 2021-06-15 12:46:17 +02:00
Tony Garnock-Jones a73b6a9f4a Whole-packet flow credit 2021-06-15 12:46:09 +02:00
Tony Garnock-Jones 9451f9886f Whole-packet flow credit 2021-06-15 12:46:09 +02:00
Tony Garnock-Jones b64b111a45 Split out assert-control 2021-06-15 12:44:13 +02:00
Tony Garnock-Jones 210e983c8d Redo actor-group linking style 2021-06-15 12:43:27 +02:00
Tony Garnock-Jones 0b1e9874d1 Treat #:message separately from #:asserted.
While in principle messages are "instantaneous" assertions, it invites
confusion to treat them as such in context of `(object)` because
assertions by default spawn nested facets, so it's too easy to
accidentally wrap a message handler in an unwanted facet. Being
explicit about messages means you never get an unwanted facet wrapper.
2021-06-15 12:41:46 +02:00
Tony Garnock-Jones d23e264756 escape-pod 2021-06-15 12:38:13 +02:00
Tony Garnock-Jones 6c5e6b713e Print (DEAD) on a dead facet 2021-06-15 12:37:59 +02:00
Tony Garnock-Jones f6cb595709 Add ConnectionPeer assertions; rename TcpOutbound -> TcpRemote and TcpInbound -> TcpLocal 2021-06-15 12:37:14 +02:00
Tony Garnock-Jones 6c9926cb11 Add ConnectionPeer assertions; rename TcpOutbound -> TcpRemote and TcpInbound -> TcpLocal 2021-06-15 12:37:14 +02:00
Tony Garnock-Jones a0a963f1e2 Provide event-expanders 2021-06-14 19:23:20 +02:00
Tony Garnock-Jones 00ed26fb60 More indentation configurations 2021-06-14 19:23:12 +02:00
Tony Garnock-Jones 4a0e6e0519 actor-group; bug fixes 2021-06-13 07:55:50 +02:00
Tony Garnock-Jones 4dc40da056 Batch outbound actions per-actor, not per-facet; continue to retain ordering within a batch group 2021-06-12 22:16:59 +02:00
Tony Garnock-Jones afe36c630d Refactor/repair tcp.prs and tcp.rkt 2021-06-11 15:29:12 +02:00
Tony Garnock-Jones 6546e335ef Refactor/repair tcp.prs and tcp.rkt 2021-06-11 15:29:12 +02:00
Tony Garnock-Jones 5850c5b06d Credit-based flow control on tcp driver; line mode 2021-06-11 14:18:53 +02:00
Tony Garnock-Jones d304d1e87d Credit-based flow control on tcp driver; line mode 2021-06-11 14:18:53 +02:00
Tony Garnock-Jones 5e1518c2bb Avoid caching turn past a user action (which causes problems if we suspend/resume across turns) 2021-06-11 09:57:35 +02:00
Tony Garnock-Jones 4970d0fd9e Tweak error message 2021-06-11 09:56:35 +02:00
Tony Garnock-Jones b2c591777e Avoid potential (?) for wrong early termination of engine 2021-06-11 09:55:48 +02:00
Tony Garnock-Jones 26ca865b87 More sensible representation of facet ancestry 2021-06-11 09:54:53 +02:00
Tony Garnock-Jones 0ba6bac01b Clean up relay logging 2021-06-10 16:46:28 +02:00
Tony Garnock-Jones b409063ff2 Handle EPIPE in tcp driver 2021-06-10 16:46:20 +02:00
Tony Garnock-Jones 6ea074948a Launchers from previous incarnation 2021-06-10 16:46:02 +02:00
Tony Garnock-Jones 247fd1b2c0 Introduce `object` and `spawn/link` 2021-06-10 16:21:30 +02:00
Tony Garnock-Jones b5c57381fa Simplify during* 2021-06-10 14:41:57 +02:00
Tony Garnock-Jones 2f4525b031 Split out tcp-client.rkt and tcp-echo-server.rkt 2021-06-10 13:35:26 +02:00
Tony Garnock-Jones b0d0eb3a11 drivers/racket-event.rkt 2021-06-10 13:34:18 +02:00
Tony Garnock-Jones 11eb0bcd6f drivers/racket-event.rkt 2021-06-10 13:34:18 +02:00
Tony Garnock-Jones 1ca04c66b0 Detect situation with empty spawn body 2021-06-10 13:33:34 +02:00
Tony Garnock-Jones 21d09f81e5 ActiveSocket-close now gets a string, not an embedded exn 2021-06-10 13:33:16 +02:00
Tony Garnock-Jones 752bc91991 ActiveSocket-close now gets a string, not an embedded exn 2021-06-10 13:33:16 +02:00
Tony Garnock-Jones 3984a2c22a Correct generation of patterns for literal embedded-values 2021-06-10 13:32:39 +02:00
Tony Garnock-Jones 7790923e65 Split out timer-demo.rkt 2021-06-10 13:30:30 +02:00
Tony Garnock-Jones bd65204760 entity/stop-on-retract 2021-06-10 13:29:19 +02:00
Tony Garnock-Jones 37ca805969 Ambient current-turn 2021-06-10 11:42:07 +02:00