bool ReadTupleRecordHeader(TupleRecord &tuple_record, FILE *log_file, size_t log_file_size) { FileHandle file_handle; file_handle.file = log_file; file_handle.size = log_file_size; file_handle.fd = fileno(file_handle.file); // Check if frame is broken auto header_size = LoggingUtil::GetNextFrameSize(file_handle); if (header_size == 0) { LOG_ERROR("Header size is zero "); return false; } // Read header char header[header_size]; size_t ret = fread(header, 1, sizeof(header), file_handle.file); if (ret <= 0) { LOG_ERROR("Error occured in fread"); } CopySerializeInputBE tuple_header(header, header_size); tuple_record.DeserializeHeader(tuple_header); return true; };
/** * @brief Read TupleRecordHeader * @param tuple_record */ bool ReadTupleRecordHeader(TupleRecord &tuple_record, FILE *log_file, size_t log_file_size) { // Check if frame is broken auto header_size = GetNextFrameSize(log_file, log_file_size); if (header_size == 0) { LOG_ERROR("Header size is zero "); return false; } // Read header char header[header_size]; size_t ret = fread(header, 1, sizeof(header), log_file); if (ret <= 0) { LOG_ERROR("Error occured in fread "); } CopySerializeInputBE tuple_header(header, header_size); tuple_record.DeserializeHeader(tuple_header); return true; }