]>
Commit | Line | Data |
---|---|---|
f67539c2 TL |
1 | #include "zoned_types.h" |
2 | ||
3 | using ceph::decode; | |
4 | using ceph::encode; | |
5 | ||
6 | std::ostream& operator<<(std::ostream& out, | |
7 | const zone_state_t& zone_state) { | |
8 | return out << " zone: 0x" << std::hex | |
9 | << " dead bytes: 0x" << zone_state.get_num_dead_bytes() | |
10 | << " write pointer: 0x" << zone_state.get_write_pointer() | |
11 | << " " << std::dec; | |
12 | } | |
13 | ||
14 | void zone_state_t::encode(ceph::buffer::list &bl) const { | |
15 | uint64_t v = static_cast<uint64_t>(num_dead_bytes) << 32 | write_pointer; | |
16 | ::encode(v, bl); | |
17 | } | |
18 | ||
19 | void zone_state_t::decode(ceph::buffer::list::const_iterator &p) { | |
20 | uint64_t v; | |
21 | ::decode(v, p); | |
22 | num_dead_bytes = v >> 32; | |
23 | write_pointer = v; // discard left-most 32 bits | |
24 | } |