Skip to content
Adam Fraser edited this page Jan 20, 2015 · 4 revisions

Non-continuous case

  • Request comes in with a since value
  • Gets the set of channels associated with the user making the request. For each channel, calls the channel cache to get an ordered list of sequences since since. The Channel cache will run a view query if needed.
  • Works the ordered channel lists to serve revisions in sequence, and avoid duplicates.
  • Sends last_seq, which is just the sequence of the last revision that was sent.

Continuous case

  • Basically runs a loop that does the equivalent of the non-continuous case in each iteration. The first run of the loop is the same as the non-continuous case. Subsequent iterations set since=lastSeq from the previous iteration.
  • The loop pauses after each iteration waiting for notification that new updates have come through on the feed. Notifications are managed by the Change cache (which works the feed).
Clone this wiki locally