Commit Graph

603 Commits

Author SHA1 Message Date
Tony Garnock-Jones 791d2880ae If a parent facet terminates, its children watch for this and terminate themselves. 2016-05-17 01:15:09 -04:00
Tony Garnock-Jones 1e84a3507d Avoid use of racket/match for message matching in actors; makes abstracting over patterns easier 2016-05-17 01:14:48 -04:00
Tony Garnock-Jones e3ff45b08e Fix wildcard matcing in trie-lookup to properly prepend wilds for open-parens. 2016-05-17 01:11:00 -04:00
Tony Garnock-Jones 07ef4f108e Improve printing of actor state 2016-05-17 01:10:26 -04:00
Tony Garnock-Jones b1f7816418 Only fire (on (asserted)) when no previous matching assertions have been seen.
This makes (on (asserted)), (on (retracted)) and (during) behave as if
they are *grouping* by their named captures, which is what we want. It
gives a much easier to understand programming model. Note the
differences in execution of example-partial-retraction.rkt before and
after this patch. This patch gives example-partial-retraction.rkt, and
programs like it, a more natural behaviour.
2016-05-17 00:24:17 -04:00
Tony Garnock-Jones 3db6177ce9 Second listener, this one using during 2016-05-17 00:15:52 -04:00
Tony Garnock-Jones d9b11566f5 example-partial-retraction.rkt 2016-05-17 00:09:18 -04:00
Tony Garnock-Jones c7b62b109e Slightly less noisy logging from broker by default 2016-05-16 14:18:44 -04:00
Tony Garnock-Jones df7908d5a7 examples/motion 2016-05-15 20:41:44 -04:00
Tony Garnock-Jones 1aead77a72 Do facet terminate() phase before handleEvent() phase 2016-05-15 16:16:36 -04:00
Tony Garnock-Jones 61ca89ce04 Post-insertion configureNode() 2016-05-15 14:58:28 -04:00
Tony Garnock-Jones 152a76af5e uiProperty 2016-05-15 14:58:13 -04:00
Tony Garnock-Jones b92c439f07 Introduce selectorMatch and eventUpdater 2016-05-15 14:57:56 -04:00
Tony Garnock-Jones 6a204a9085 Process many internal cycles per wakeup; avoid reentrancy 2016-05-15 14:56:19 -04:00
Tony Garnock-Jones 51d9d4b64e Track Actors' knowledge to properly initialize new facets 2016-05-15 14:55:48 -04:00
Tony Garnock-Jones cd60353053 Remove obsolete definition. 2016-05-15 07:01:32 -04:00
Tony Garnock-Jones 74c663d5d4 Provide broker-scope and broker-data from server.rkt 2016-05-15 06:59:28 -04:00
Tony Garnock-Jones 81f9a0f0fe Split host and port in websocket-remote-client and broker-scope. 2016-05-15 06:56:29 -04:00
Tony Garnock-Jones c29ae059ff Make sure to advertise presence even during connection establishment, since otherwise the user actor may hang indefinitely. 2016-05-15 06:55:39 -04:00
Tony Garnock-Jones 0f1fabddfb Better logging of websocket connection failures. 2016-05-15 06:55:14 -04:00
Tony Garnock-Jones 931c54df6a It is expected that outbound connection supply should drop. 2016-05-15 06:53:02 -04:00
Tony Garnock-Jones 1f8b3eeb3f Attribute and property update/remove protocol 2016-05-15 06:14:31 -04:00
Tony Garnock-Jones 097641ffff Name Structs for compatibility with Racket 2016-05-15 06:13:31 -04:00
Tony Garnock-Jones 0653bdae3c key.instantiate needs an Array, not an Immutable.List 2016-05-15 06:12:37 -04:00
Tony Garnock-Jones a55ed180db Properly handle the first (interesting) patch after a broken connection. 2016-05-15 06:12:09 -04:00
Tony Garnock-Jones b65291e789 Remove obsolete clean-patch function. 2016-05-15 06:11:04 -04:00
Tony Garnock-Jones e7b0e15786 Support nested observation across broker protocol 2016-05-15 06:10:51 -04:00
Tony Garnock-Jones ee120022a4 trie-step* 2016-05-15 06:10:31 -04:00
Tony Garnock-Jones e55e19d5e4 Add "on event ID BLOCK" support 2016-05-14 19:06:00 -04:00
Tony Garnock-Jones 0561a02e78 onTaskExit, matching the Racket 2016-05-14 17:12:41 -04:00
Tony Garnock-Jones 7a4f1d8931 Update Racket demand-matcher to match improvements in the js version. 2016-05-14 17:07:50 -04:00
Tony Garnock-Jones c7d91ac37f Incorrect loop logic in updateEventListeners meant that nodes right at the end of the anchorNode were skipped. 2016-05-14 10:34:22 -04:00
Tony Garnock-Jones bf532edd28 UIAttribute doesn't have fragmentId. 2016-05-14 02:26:24 -04:00
Tony Garnock-Jones 16365e7e95 Table example 2016-05-14 02:21:56 -04:00
Tony Garnock-Jones 35f0b75389 UIFragment orderBy, for features and speed 2016-05-14 02:21:43 -04:00
Tony Garnock-Jones cfd7312293 More minor fixes 2016-05-13 20:50:20 -04:00
Tony Garnock-Jones deae6c6d29 Fix spacing 2016-05-13 20:26:06 -04:00
Tony Garnock-Jones 372652c49d Syndicate.UI.uiAttribute 2016-05-13 20:17:16 -04:00
Tony Garnock-Jones f64491c0a7 Better use of console.warn and console.error in dataspace.js 2016-05-13 20:17:16 -04:00
Tony Garnock-Jones 628ba87c54 Rewrite JS DemandMatcher to handle important latency-related corner cases. 2016-05-13 20:14:01 -04:00
Tony Garnock-Jones 68cde5be6c DemandMatcher: overlap not ruled out! Remove it. 2016-05-12 22:18:57 -04:00
Tony Garnock-Jones b51e7f99d9 LocationHashTracker 2016-05-12 20:11:22 -04:00
Tony Garnock-Jones 6d305e6b00 Hoist .refresh out from .handleEvent; makes assertions depend on state that might have been changed in event handlers properly. 2016-05-12 17:37:14 -04:00
Tony Garnock-Jones a433a054b8 Syndicate.UI.windowEvent 2016-05-12 15:56:42 -04:00
Tony Garnock-Jones e0bd8d08c2 Re-register UIFragment event handlers on node replacement 2016-05-12 15:19:37 -04:00
Tony Garnock-Jones 4eb29832df Correct stupid mistake 2016-05-12 14:52:55 -04:00
Tony Garnock-Jones fb89954158 Only try to attach events to things that might emit them 2016-05-12 14:46:39 -04:00
Tony Garnock-Jones c6cfa2fe87 Scoped broker connections 2016-05-12 12:32:29 -04:00
Tony Garnock-Jones f486f93bd4 More ergonomic step/prepend for tries and patches 2016-05-12 12:18:59 -04:00
Tony Garnock-Jones 81e10632dd Expose Websocket request host/path to server-side 2016-05-12 12:18:43 -04:00