[thin_metadata_pack/unpack] Add version field to header.
This commit is contained in:
parent
9daa726870
commit
e92ae10408
@ -41,6 +41,7 @@ using boost::optional;
|
|||||||
namespace {
|
namespace {
|
||||||
using namespace std;
|
using namespace std;
|
||||||
constexpr uint64_t MAGIC = 0xa537a0aa6309ef77;
|
constexpr uint64_t MAGIC = 0xa537a0aa6309ef77;
|
||||||
|
constexpr uint64_t PACK_VERSION = 1;
|
||||||
|
|
||||||
uint32_t const SUPERBLOCK_CSUM_SEED = 160774;
|
uint32_t const SUPERBLOCK_CSUM_SEED = 160774;
|
||||||
uint32_t const BITMAP_CSUM_XOR = 240779;
|
uint32_t const BITMAP_CSUM_XOR = 240779;
|
||||||
@ -114,6 +115,7 @@ namespace {
|
|||||||
|
|
||||||
std::ofstream out_file(*f.output_file_, ios_base::binary);
|
std::ofstream out_file(*f.output_file_, ios_base::binary);
|
||||||
write_u64(out_file, MAGIC);
|
write_u64(out_file, MAGIC);
|
||||||
|
write_u64(out_file, PACK_VERSION);
|
||||||
|
|
||||||
boost::iostreams::filtering_ostreambuf out_buf;
|
boost::iostreams::filtering_ostreambuf out_buf;
|
||||||
out_buf.push(zlib_compressor());
|
out_buf.push(zlib_compressor());
|
||||||
@ -154,6 +156,9 @@ namespace {
|
|||||||
if (read_u64(in_file) != MAGIC)
|
if (read_u64(in_file) != MAGIC)
|
||||||
throw runtime_error("Not a pack file.");
|
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;
|
filtering_istreambuf in_buf;
|
||||||
in_buf.push(zlib_decompressor());
|
in_buf.push(zlib_decompressor());
|
||||||
in_buf.push(in_file);
|
in_buf.push(in_file);
|
||||||
|
Loading…
Reference in New Issue
Block a user