MySQLセミシンクロレプリケーション--master dumpスレッド2


mysql_binlog_send:
    //   binlog index          binlog   
    if (mysql_bin_log.find_log_pos(&linfo, name, 1))
    ...
    if ((file=open_binlog_file(&log, log_file_name, &errmsg)) < 0)//  binlog  
    ...
    //   semi-sync
	if (RUN_HOOK(binlog_transmit, transmit_start,thd, flags, log_ident, pos, 
        &observe_transmission)))
    ...
    while (!net->error && net->vio != 0 && !thd->killed){//  while  
	//    binlog      packet(reset_transmit_packet)
	    if (reset_transmit_packet(thd, flags, &ev_offset, &errmsg,observe_transmission))
        //   RUN_HOOK(binlog_transmit, reserve_header, (thd, flags, packet)))


        while (!thd->killed &&
           !(error= Log_event::read_log_event(&log, packet, log_lock,
                current_checksum_alg,log_file_name,&is_active_binlog))){
		   
           if (observe_transmission && 
               RUN_HOOK(binlog_transmit, b