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
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
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
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
6546e335ef
Refactor/repair tcp.prs and tcp.rkt
2021-06-11 15:29:12 +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
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
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
Tony Garnock-Jones
9aa33210b0
Use tcp driver in tcp-server
2021-06-10 10:53:30 +02:00
Tony Garnock-Jones
45e8c29976
TCP client driver, and provides
2021-06-10 10:42:59 +02:00
Tony Garnock-Jones
336811c51e
Beginnings of a TCP driver
2021-06-10 10:00:43 +02:00
Tony Garnock-Jones
5ab375bc26
Conditional assertion
2021-06-10 10:00:22 +02:00
Tony Garnock-Jones
82648dc0da
Port timer driver from older syndicate/rkt implementation
2021-06-09 23:08:06 +02:00
Tony Garnock-Jones
ee5a5d9f5f
Cosmetic, more or less
2021-06-09 23:07:18 +02:00
Tony Garnock-Jones
de18aa2112
Add debug output to facet-inert?
2021-06-09 23:07:03 +02:00
Tony Garnock-Jones
b12fc5188d
"Linking" during spawn; and during/spawn
2021-06-09 23:06:40 +02:00
Tony Garnock-Jones
5dec0afe39
syntax-classes.rkt
2021-06-09 23:05:51 +02:00
Tony Garnock-Jones
52362a9183
facet-on-end-of-turn!
2021-06-09 23:04:58 +02:00
Tony Garnock-Jones
cce81dc104
Seldom any need for this chmod, so omit it in favour of manual fixup when required
2021-06-09 15:07:15 +02:00
Tony Garnock-Jones
e8a2e00fa2
TAttenuate
2021-06-09 15:06:58 +02:00