Commit Graph

21 Commits

Author SHA1 Message Date
Tony Garnock-Jones 2a360bff32 Adjust copyrights 2021-06-04 15:56:03 +02:00
Tony Garnock-Jones c6d4d3acf1 Fix up copyright notices 2021-06-04 11:35:27 +02:00
Massimo Zaniboni 855b7835f6 Added license header to each source code file 2021-06-04 11:13:49 +02:00
Tony Garnock-Jones a3a229532a add-observer-endpoint!, add-raw-observer-endpoint! 2019-05-04 22:58:45 +01:00
Tony Garnock-Jones a86478b7b9 Remove unneeded #:capture-projection argument to term->skeleton-interest 2019-05-03 20:29:40 +01:00
Tony Garnock-Jones 759bbdf1c3 Add visibility-restriction, making the test pass 2019-03-25 16:32:09 +00:00
Tony Garnock-Jones fc43d5c4a0 Initial broker implementation 2019-03-18 15:34:14 +00:00
Tony Garnock-Jones ab64f71766 Restriction-paths: right idea (?), wrong implementation. This time maybe.
Instead of having restriction-paths as an adjunct to a change, they're
more propertly a part of each assertion itself. The new `skeleton.rkt`
keeps an optional restriction-path with each assertion, treating it as
distinct from its underlying assertion. The idea of not signalling
changes in assertions that have a restriction-path mismatch stays.
2018-05-04 15:55:53 +01:00
Tony Garnock-Jones 69a8893da3 Add the concept of "restriction-path", which limits assertion visibility.
This is used when relaying: because we don't have access to the full
term, but only the projection results, we are inserting various
`(discard)`s. This is the cause of the failure in
`test/core/nesting-confusion.rkt`.

By adding `restriction-path`, we allow the inner dataspace to avoid
showing a reconstructed term to endpoints that might be able to
observe the reconstructed parts.

An alternative implementation approach is to generalize patterns in
the inner relay actor, translating all `(discard)`s into captures,
which would give us all the relevant terms that we need. The way I've
chosen to go (or at least, to try out) allows us to potentially keep
the "efficient" idea of just transmitting pattern-bound values across
some network link connecting dataspaces. The alternative would require
transmission of the full assertions, eliding no irrelevant detail.
2018-05-03 22:09:33 +01:00
Tony Garnock-Jones 00d50e6700 Factor out assertion structure definitions 2018-05-03 16:14:30 +01:00
Tony Garnock-Jones 17cee51342 Ensure (??) that relays' assertions can't outlive them 2018-05-02 18:10:52 +01:00
Tony Garnock-Jones dd123f4a27 Notes on eventual improvements to dataspace nesting 2018-05-02 13:19:18 +01:00
Tony Garnock-Jones eb208f3a10 Handy logging for diagnosing problems 2018-05-01 22:39:50 +01:00
Tony Garnock-Jones 869a495392 First sketch of `quit-dataspace!`. 2018-05-01 21:12:54 +01:00
Tony Garnock-Jones 0e37037b6e Eliminate another parameter: now only `current-facet` remains 2018-04-30 11:18:49 +01:00
Tony Garnock-Jones 14ee4f70ef Avoid manipulating `in-script?` all the time 2018-04-30 10:44:35 +01:00
Tony Garnock-Jones a6811f2ba5 Add timer/timestate support; this prompted a change to endpoint registration.
The `add-endpoint!` call is changed in two ways:

 - the old `assertion-fn` has become `update-fn`, yielding both
   an assertion *and* an optional handler, because if the handler
   depends on a field which changes, previously the handler wasn't
   being updated

 - a new parameter, `dynamic?`, can be set to #f (it's usually #t)
   to ensure that the assertion and skeleton-interest are calculated
   only once ever, and are not connected to the dataflow machinery.

The first change makes it possible for the `(later-than (deadline))`
pattern, where `deadline` is a field, to work; the second change makes
`during` and `during/spawn` work correctly in the face of field
updates.
2018-04-29 22:27:55 +01:00
Tony Garnock-Jones 91596b066f External-event and TCP drivers; chat server and stdin echo programs 2018-04-29 18:43:39 +01:00
Tony Garnock-Jones 2652147141 Commented-out debug-printing in relay.rkt 2018-04-29 16:08:35 +01:00
Tony Garnock-Jones b3d6b74dab Repair scheduling of inner dataspaces, thus allowing e.g. double nesting 2018-04-29 16:07:49 +01:00
Tony Garnock-Jones dd2cddb6a7 Nested dataspaces 2018-04-29 14:54:14 +01:00