Hi Cyrus, I'm currently working on some basic architecture diagrams that will complement the documentation to show the moving parts. Today's topic: replication.
Based on a delightfully drawn whiteboard session with Bron, I am left with a couple of queries: Do we have multiple sync_clients because a new one is spawned by a master for each change (and then the process finishes), or is there an actual pool of sync clients which handle each change and persist idle. Is the file format of the sync log defined anywhere? I assume it correlates with a set of commands. (Not that this is important to a user: it may as well be opaque, but it made me wonder!) I failed to note where the sync_server fits in. Is it a separate process that lives alongside the master imap server and sits there constantly checking the log files generated by sync_client to be handled? I also have in my wonderful drawing a picture of a number of channels. I assume these are (part of) a config given to the sync_server so it knows where to broadcast all the changes defined in the log files to? Or have I misunderstood what a channel is? Nicola