[x] Isolate key decoding, proprietary ping logic, and message delivery into a separate methods.
[x] Test with routing enabled for all incoming messages. (Messages shouldn't be delivered locally if routing succeeds).
[x] Test falling back to local delivery if routing fails—either due to an error, or because no peers accepted the update.
[ ] Document how AlwaysRoute interacts with local delivery.
[ ] Determine if we need better metrics—with AlwaysRoute enabled, we should see the number of misses match the number of updates delivered locally, since we never route to ourselves.
AlwaysRoute
interacts with local delivery.AlwaysRoute
enabled, we should see the number of misses match the number of updates delivered locally, since we never route to ourselves.Work-in-progress branch: https://github.com/mozilla-services/pushgo/tree/feature/breakupdate