Commit Graph

29 Commits

Author SHA1 Message Date
Mike Thompson 00f706688a Make router work with 0.6.0 of reagent (and be backwards compatible) 2015-12-22 00:17:33 +11:00
Mike Thompson 927d318626 First pass at providing what @pupeno needs for #118 2015-12-06 23:19:11 +11:00
Stephen C. Gilardi e77fc53e53 simplify state handling around resume 2015-11-06 23:04:45 -05:00
Stephen C. Gilardi 4a3d951568 direct call to -run-queue from resume
- this now happens in the :running state
  - just like a run-queue, but with an unconditional handling of the
    first item on the queue
- no need to trigger here
2015-11-06 23:03:07 -05:00
Stephen C. Gilardi fc9fa490a6 reorder to be the same as the order in the prototype 2015-11-06 23:01:55 -05:00
Stephen C. Gilardi bde07088a4 simplify names: pause, resume, regularize run-queue
- pause-run -> pause
- begin-resume -> resume
  - no longer a multi-step process
- begin-run -> run-queue
  - so all action function names match their keywords
2015-11-06 22:58:15 -05:00
Stephen C. Gilardi 38120c4913 fix a couple of comment typos 2015-11-06 22:50:50 -05:00
Stephen C. Gilardi 6551c010b3 make run-queue more compact 2015-11-04 15:36:41 -05:00
Stephen C. Gilardi aedafd1ac9 doc string edits 2015-11-04 09:15:53 -05:00
Stephen C. Gilardi ffa676744d a few minor comment mods 2015-11-04 09:15:53 -05:00
Stephen C. Gilardi 6751414320 some light editing of the router loop explanation
- preserving all the flavor
2015-11-04 09:15:53 -05:00
Stephen C. Gilardi 4533d51fbe regularize fsm code formatting
- full align vectors on the left side within a group
- one space between left and right side
- align # marks in vectors on the right side within a group
- also arg1 -> arg
2015-11-04 09:15:52 -05:00
Stephen C. Gilardi 08e8b450ee optimize and DRY up pause-run handling 2015-11-04 09:15:52 -05:00
Stephen C. Gilardi ceafa00483 update/minimize ns form for new impl 2015-11-04 08:07:33 -05:00
mike-thompson-day8 075af4bee2 rename action function, plus use 'case' for performance 2015-11-04 17:11:42 +11:00
Stephen C. Gilardi 4be6227b02 revise fsm terminology around resuming 2015-11-04 00:14:11 -05:00
Stephen C. Gilardi b32aeab413 fix [:do-paused :add-event] state transition 2015-11-04 00:10:28 -05:00
mike-thompson-day8 46c627430f Wording changes in docs 2015-11-04 13:33:50 +11:00
mike-thompson-day8 e9a3b1ebeb Improve wording of comments 2015-11-02 23:43:19 +11:00
mike-thompson-day8 420e42aacc Introduce a router loop, not based on core-async 2015-11-02 22:37:46 +11:00
Daniel Compton a2e8c09775 Use yield instead of (timeout 0)
(timeout 0) resolves to using js/setTimeout which will actually take 4+
msecs in browsers. This is an eternity. The nextTick approach was
proposed by Patrick O'Brien and implemented here.

Docs on nextTick from Closure library:

Fires the provided callbacks as soon as possible after the current JS
execution context. setTimeout(…, 0) takes at least 4ms when called from
within another setTimeout(…, 0) for legacy reasons.

This will not schedule the callback as a microtask (i.e. a task that can
preempt user input or networking callbacks). It is meant to emulate what
setTimeout(_, 0) would do if it were not throttled. If you desire
microtask behavior, use goog.Promise instead.
2015-10-16 14:49:10 +13:00
mike-thompson-day8 0aee218689 Improve comments on router. 2015-05-08 15:49:48 +10:00
mike-thompson-day8 25ed816603 When an exception bubbles out of the router loop, it now restarts itself.
Previously the  the router loop was permanently broken by an exception.
This change makes figwheel debugging work much more nicely in some circumstances.
Plus it means that in production, apps have a chance at recovery from UHE
2015-05-02 10:52:11 +10:00
mike-thompson-day8 f5ed759767 Incorporate changes from #46 2015-04-18 21:15:53 +10:00
mike-thompson-day8 89f5344a86 Correct wiki links 2015-04-08 09:12:47 +10:00
mike-thompson-day8 a180df85c8 core.sync completely trashes the stack in an exception. Print any exception to the console before that happens. 2015-03-06 12:44:22 +11:00
mike-thompson-day8 6c55235160 Better explanation of router's handling of exceptions. 2015-03-05 10:41:50 +11:00
mike-thompson-day8 94e7a35c5f Add and remove comments 2015-03-05 00:45:58 +11:00
mike-thompson-day8 3540d7da9d Split handlers.cljs in two, creating router.cljs 2015-03-05 00:00:36 +11:00