[thin_metadata_pack/unpack] Add version field to header.

This commit is contained in:
Joe Thornber 2020-05-26 10:59:13 +01:00
parent 9daa726870
commit e92ae10408
1 changed files with 5 additions and 0 deletions

View File

@ -41,6 +41,7 @@ using boost::optional;
namespace {
using namespace std;
constexpr uint64_t MAGIC = 0xa537a0aa6309ef77;
constexpr uint64_t PACK_VERSION = 1;
uint32_t const SUPERBLOCK_CSUM_SEED = 160774;
uint32_t const BITMAP_CSUM_XOR = 240779;
@ -114,6 +115,7 @@ namespace {
std::ofstream out_file(*f.output_file_, ios_base::binary);
write_u64(out_file, MAGIC);
write_u64(out_file, PACK_VERSION);
boost::iostreams::filtering_ostreambuf out_buf;
out_buf.push(zlib_compressor());
@ -154,6 +156,9 @@ namespace {
if (read_u64(in_file) != MAGIC)
throw runtime_error("Not a pack file.");
if (read_u64(in_file) != PACK_VERSION)
throw runtime_error("unknown pack file format version");
filtering_istreambuf in_buf;
in_buf.push(zlib_decompressor());
in_buf.push(in_file);