davisp commented on a change in pull request #470: Scheduling Replicator URL: https://github.com/apache/couchdb/pull/470#discussion_r111613947
########## File path: src/couch_replicator/README.md ########## @@ -0,0 +1,297 @@ +Developer Oriented Replicator Description +========================================= + +This description of scheduling replicator's functionality is mainly geared to +CouchDB developers. It dives a bit into the internal and explains how +everything is connected together. + +A natural place to start is the top applicatin supervisor: +`couch_replicator_sup`. It's a `rest_for_one` so if a child process +terminates, the rest of the childred in the hierarchy following it are also +terminated. This structure implies a useful constraint -- children to the "right" +if viewing it vertically with the root at the top, can safely call children +on the "left", because this supervisor ensures those on the "left" will already +be started and runnig. + +A description of each child: + + * `couch_replication_event`: Starts a gen_event publication bus to handle some + replication related events. This used for example, to publish cluster + membership changes by the `couch_replicator_clustering` process. But is + also used in replication tests to minotor for replication events. + Notification is performed via the `couch_replicator_notifier:notify/1` + function. It's the first (left-most) child because + `couch_replicator_clustering` is using. + + * `couch_replicator_clustering`: This module maintains cluster membership + information for replication application and provides functions to check Review comment: for the replication ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [email protected] With regards, Apache Git Services
