berkeley db replica机制 - 消息处理

repmgr_method.c, __repmgr_start_int()
repmgr_method.c, __repmgr_start_msg_threads()
repmgr_msg.c, __repmgr_msg_thread()
message_loop()

     while ((ret = __repmgr_queue_get()... 

      __repmgr_queue_get - while(m = available_work(env)) == NULL), wait 在msg_avail 上
process_message()
repmgr_record.c, __rep_process_message_int()

对 REP_LOG 消息:

        rep_log.c, __rep_log(). 我接收到了一个 log 消息, 处理之

REP_LOG_REQ:

       别的 site 请求一个 log rec.  

REP_PAGE: 

       rep_backup.c, __rep_page().  插入page no到page info db, no overwrite. 如已存在, 退出. __rep_write_page() 写入page, 写入本地mp文件即可.

REP_PAGE_REQ:

REP_NEWMASTER

REP_NEWFILE

REP_MASTER_REQ

REP_NEWCLIENT

REP_NEWSITE

REP_LEASE_GRANT

 

posted @ 2016-08-17 13:14  brayden  阅读(186)  评论(0编辑  收藏  举报