Commit Graph

461 Commits

Author SHA1 Message Date
Tony Garnock-Jones 9f69cffbe7 Ground network; minor refactorings and bugfixes; smoketest example 2016-02-02 21:02:55 -05:00
Tony Garnock-Jones e0f76b991a First pass at Network implementation 2016-02-02 18:22:29 -05:00
Tony Garnock-Jones f22e228cc0 New tests and bug fixes for patch and mux 2016-02-02 15:52:48 -05:00
Tony Garnock-Jones d1b3ffdf81 Document optionality of removeMeta 2016-02-02 14:36:47 -05:00
Tony Garnock-Jones 4d87f071da Mux; beginnings of tests for it 2016-02-02 14:36:31 -05:00
Tony Garnock-Jones 6b9c7fee67 Remove unused function from test script 2016-02-02 14:35:43 -05:00
Tony Garnock-Jones bf94a2cd1c Support leftShort in Route.matchTrie 2016-02-02 14:35:33 -05:00
Tony Garnock-Jones 95cb196c49 Fix bug in Route.subtract 2016-02-02 14:35:08 -05:00
Tony Garnock-Jones a0f1d61635 Start skeleton Network 2016-01-31 17:48:00 -05:00
Tony Garnock-Jones 579b82261c Patches, more tests, fixes 2016-01-31 16:55:24 -05:00
Tony Garnock-Jones c2fa26f9ed New $Special objects for __, SOA, EOA etc. 2016-01-31 10:54:41 -05:00
Tony Garnock-Jones 1107483c86 Initial commit. 2016-01-30 21:58:59 -05:00
Tony Garnock-Jones 2884806378 An additional year has begun 2016-01-30 11:39:05 -05:00
Tony Garnock-Jones e400c1703a stockholm no longer has vboxnet0. 2016-01-28 15:30:41 -05:00
Tony Garnock-Jones 3476afc2ab Implement TCP_USER_TIMEOUT, ish. 2016-01-28 14:24:05 -05:00
Tony Garnock-Jones 265eee348a Update fetchurl.rkt for prospect-monolithic. 2016-01-27 22:15:14 -05:00
Tony Garnock-Jones 594add5939 Add in missing bounds check when pruning acked data. 2016-01-27 22:06:57 -05:00
Tony Garnock-Jones 8a3f50941f Friendlier makefile contents 2016-01-27 22:06:24 -05:00
Tony Garnock-Jones 6c98531832 Enable "webserver" 2016-01-27 21:51:51 -05:00
Tony Garnock-Jones 38e3c9de0f Avoid double-fin (!). 2016-01-27 21:46:20 -05:00
Tony Garnock-Jones a86eb10494 Name process behaviour procedures. 2016-01-27 21:46:09 -05:00
Tony Garnock-Jones 5f6f3429c8 Fix the fix for the "out"-related bug from commit de1dc5a.
The problem was that sometimes there'd be an assertion that `meta` had
asserted that *also* was asserted by some local process. Commit
de1dc5a introduced code that would drop the assertion in this case;
this commit changes it to only remove assertions from the set when
*only* `meta` is asserting them.
2016-01-27 21:29:42 -05:00
Tony Garnock-Jones 6b31b33230 Nameable demand-matchers 2016-01-27 21:03:08 -05:00
Tony Garnock-Jones bedd44aae5 Using #f as a name doesn't override existing names. 2016-01-27 20:53:37 -05:00
Tony Garnock-Jones 03efb19a4d Optionally-named process behaviour functions 2016-01-27 20:46:24 -05:00
Tony Garnock-Jones 0db231575c Properly assert tcp-port-allocation for a listener. 2016-01-24 00:07:33 -05:00
Tony Garnock-Jones de1dc5aa8e Fix "out"-related bug in monolithic implementation 2016-01-24 00:04:29 -05:00
Tony Garnock-Jones 0a6cce2d3d on-claim fix for incremental, on-claim impl for monolithic 2016-01-24 00:03:59 -05:00
Tony Garnock-Jones ff3ba722ad Fix pretty-printing of networks 2016-01-24 00:03:32 -05:00
Tony Garnock-Jones 0206dec737 TCP. Connection & transfer works; disconnection, not. 2016-01-23 22:57:07 -05:00
Tony Garnock-Jones aabeb5adcd UDP. 2016-01-23 21:59:33 -05:00
Tony Garnock-Jones 6a449648e3 Use host-route netmask in gateway outbound relay.
I'm not sure why previously it had been hardcoded to a 32-bit netmask;
presumably this was an error on my part way back in the original routing
implementation in minimart-netstack. It looks as if the code was
originally written for a kind of host route that didn't have a netmask,
and was never updated to include the netmask later.
2016-01-23 21:50:39 -05:00
Tony Garnock-Jones 54067dbeac Fix gateway ARP lookup 2016-01-23 20:17:03 -05:00
Tony Garnock-Jones 279e273909 Makefile 2016-01-23 20:14:38 -05:00
Tony Garnock-Jones ca5bf47adf Initial work towards migration from minimart to prospect-monolithic 2016-01-23 20:14:31 -05:00
Tony Garnock-Jones cf00496338 Monolithic semantics. 2016-01-23 18:24:07 -05:00
Tony Garnock-Jones 7cb4223235 Rename "matcher" to "trie". 2016-01-21 22:06:09 -05:00
Tony Garnock-Jones 5fcb4cb777 Rename "matcher" to "trie". 2016-01-21 22:02:24 -05:00
Tony Garnock-Jones 3c5a6f00ed Rename "matcher" to "trie". 2016-01-21 21:55:41 -05:00
Tony Garnock-Jones e1c5fd4ac1 Switch from timer-expired /messages/ to /assertions/ at ground level.
Previously, the timer driver caused the background thread to call
send-ground-message to indicate that a timer had expired. However,
this can lead to a race! In cases where a timer expires very soon, the
channel-put of the set-timer instruction leads shortly thereafter to a
send-ground-message which then races the establishment of the
metalevel-1 subscription to the timer-expired events that are coming
from the background thread.

The race cannot occur in the sequential implementation because the
network makes sure to enqueue the transition actions resulting from
the set-timer message delivery ahead of any enqueueing of the
timer-expired ground message, so that by the time the ground message
is processed, the relevant subscription always exists.

In a looser implementation, however, this level of synchronised
activity may not exist, and the ground message may overtake the
subscription establishment.

Therefore, I've changed the driver to instead use ground /assertions/
to signal expired timers. Upon processing of such an assertion, the
driver cleans it up. This is very similar to hardware interrupts,
where the driver has to "clear the interrupt" in order to let the
system continue properly.
2016-01-21 17:38:12 -05:00
Tony Garnock-Jones 4dfb4c46a1 world --> network 2016-01-20 14:16:18 -05:00
Tony Garnock-Jones 1ab7475869 world --> network 2016-01-20 14:13:49 -05:00
Tony Garnock-Jones 5e6d72b991 Rearrange bank-account examples. 2016-01-18 17:38:58 -05:00
Tony Garnock-Jones 1d28908600 Add project-assertions convenience routine. 2016-01-18 17:33:26 -05:00
Tony Garnock-Jones aa9677dbe1 Rename World to Network 2016-01-18 14:29:48 -05:00
Tony Garnock-Jones ad9a78b4a4 Directly detect incoming connections in examples/chat-simplified-internals 2016-01-16 22:12:35 -05:00
Tony Garnock-Jones 024157103c Simplified TCP protocol chat example 2016-01-16 21:59:30 -05:00
Tony Garnock-Jones b7726dafb8 Clearer example 2016-01-16 18:45:44 -05:00
Tony Garnock-Jones fe2bc31f4f Avoid use of sub; wait for server to come ready before sending messages 2016-01-16 18:11:35 -05:00
Tony Garnock-Jones f1c1646163 Bank account example 2016-01-16 14:32:04 -05:00