bool proto_read(Db* database, txn_guard_ptr txn, const Index& index, ProtoType& proto_object) { readable_data_type key; key.set(index); writable_data_type data; if (database->get(txn->get(), key.get(), data.get(), 0) != 0) return false; std::stringstream ss; data_chunk raw_object(data.data()); std::copy(raw_object.begin(), raw_object.end(), std::ostream_iterator<byte>(ss)); proto_object.ParseFromIstream(&ss); return true; }
Type Type::tmp_object() { return { raw_object(), false, true, false }; }
Type Type::object() { return { raw_object(), false, false, false }; }