On Sun, Jul 5, 2015 at 9:58 AM, Keith Meaney <[email protected]> wrote:

> Hello,
>
> Out of personal interest I'd like to see a complete overview of the sync
> protocol used by the client. I found this documentation, but it seems to be
> incomplete and  broken. Is there a complete writeup of how sync is
> accomplished anywhere I have missed?
>

No, there is no documentation for the client like you describe.
Sync-the-protocol is reasonably well documented (see
http://docs.services.mozilla.com/storage/index.html) and the auth layer is
very well documented (see
https://github.com/mozilla/fxa-auth-server/blob/master/docs/api.md and
http://docs.services.mozilla.com/token/index.html), but the actual business
of syncing as a client is dark magic.  By far the smallest and most
readable implementation is the one that rnewman is growing for firefox-ios:
start in
https://github.com/mozilla/firefox-ios/blob/master/Sync/SyncStateMachine.swift
.

One reason this documentation doesn't exist is that the protocol does not
constrain the client sufficiently to document: there are numerous choices
to be made at many points.  So in the language of RFCs, the whole thing is
SHOULD.

Nick
_______________________________________________
Sync-dev mailing list
[email protected]
https://mail.mozilla.org/listinfo/sync-dev

Reply via email to