package binlog func GenBinlogEventBytes(fh EventFixedHeader, fd EventFixedData, vd EventVariableData) ([]byte, error) { eventLength := LOG_EVENT_FIXED_HEADER_LEN + len(fd.Bytes) + len(vd.Bytes) fh.EventLength = uint(eventLength) buf := make([]byte, eventLength) intToBytes(fh.Timestamp, buf[0:4]) intToBytes(fh.EventType, buf[4:5]) intToBytes(fh.ServerId, buf[5:9]) uintToBytes(fh.EventLength, buf[9:13]) intToBytes(fh.NextPosition, buf[13:17]) intToBytes(fh.Flags, buf[17:19]) copy(buf[19:19+len(fd.Bytes)-1], fd.Bytes) copy(buf[19+len(fd.Bytes):], vd.Bytes) return buf, nil }