slave.h/.cc
包括io线程及sql线程的实现,主要是slave高层次的管理逻辑,不包含如从网络dump数据,解析relay日志,格式化relay日志或者执行event的低级函数,但包含show slave status的执行过程等。
log.h/.cc
包含用于对event排序并写入binlog的高级日志机制。包含创建,写入以及删除binlog的逻辑,也包含binlog的部分回调函数。
log_event.h/.cc
包含Log_event类及其子类,用于所有event类型的创建,写入,输出以及作用方式,此处的读写都很低级,基本上都是对数据的序列化。
old_log_event.h/.cc
包含老版本row event的执行机制。
rpl_rli.h/.cc
Relay_log_info的数据结构实现,主要用于sql线程,同时也包含部分sql线程的方法(另一部分在slave.cc文件)
rpl_mi.h/.cc
Master_info的数据结构实现,主要用于IO线程,部分IO线程函数位于slave.cc。
sql_repl.cc
master的dump线程实现,主要用于把binlog发送到slave,也包含RESET SLAVE, CHANGE MASTER, RESET MASTER, SHOW BINLOG EVENTS, SHOW MASTER STATUS, SHOW BINARY LOGS, PURGE BINARY LOGS等命令的实现,也包含一些复制相关的参数设置。
sql_binlog.cc
BINLOG语句执行的实现。
rpl_record.h/.cc
编码及解码row模式下的row event格式的工具方法。
repl_failsafe.h/.cc
slave初始化及注册到master的实现。
replication.h
部分抽象类的定义,包括binlog的一部分接口。
rpl_constants.h
复制事件的枚举
rpl_filter.h/.cc
--{binlog,replicate}-{do,ignore}-db, --replicate[-wild]-{do,ignore}-table, --replicate-rewrite-db的实现。
rpl_handler.h/.cc
使用binlog的plugin的协调类。
rpl_injector.h/.cc
注入类,允许外部插入写入binlog,主要用于集群复制时候的binlog。
rpl_reporting.h/.cc
复制状态及错误的报告实现工具。
rpl_tblmap.h/.cc
用于生成row格式复制用table map的工具。
rpl_utility.h/.cc
Table_map_events的辅助类及方法,也包含部分其他工具。
sql_lex.h/.cc
标记不安全的语句。