void ContentFeatures::msgpack_pack(msgpack::packer<msgpack::sbuffer> &pk) const { pk.pack_map(38); PACK(CONTENTFEATURES_NAME, name); PACK(CONTENTFEATURES_GROUPS, groups); PACK(CONTENTFEATURES_DRAWTYPE, (int)drawtype); PACK(CONTENTFEATURES_VISUAL_SCALE, visual_scale); pk.pack((int)CONTENTFEATURES_TILEDEF); pk.pack_array(6); for (size_t i = 0; i < 6; ++i) pk.pack(tiledef[i]); pk.pack((int)CONTENTFEATURES_TILEDEF_SPECIAL); pk.pack_array(CF_SPECIAL_COUNT); for (size_t i = 0; i < CF_SPECIAL_COUNT; ++i) pk.pack(tiledef_special[i]); PACK(CONTENTFEATURES_ALPHA, alpha); PACK(CONTENTFEATURES_POST_EFFECT_COLOR, post_effect_color); PACK(CONTENTFEATURES_PARAM_TYPE, (int)param_type); PACK(CONTENTFEATURES_PARAM_TYPE_2, (int)param_type_2); PACK(CONTENTFEATURES_IS_GROUND_CONTENT, is_ground_content); PACK(CONTENTFEATURES_LIGHT_PROPAGATES, light_propagates); PACK(CONTENTFEATURES_SUNLIGHT_PROPAGATES, sunlight_propagates); PACK(CONTENTFEATURES_WALKABLE, walkable); PACK(CONTENTFEATURES_POINTABLE, pointable); PACK(CONTENTFEATURES_DIGGABLE, diggable); PACK(CONTENTFEATURES_CLIMBABLE, climbable); PACK(CONTENTFEATURES_BUILDABLE_TO, buildable_to); PACK(CONTENTFEATURES_LIQUID_TYPE, (int)liquid_type); PACK(CONTENTFEATURES_LIQUID_ALTERNATIVE_FLOWING, liquid_alternative_flowing); PACK(CONTENTFEATURES_LIQUID_ALTERNATIVE_SOURCE, liquid_alternative_source); PACK(CONTENTFEATURES_LIQUID_VISCOSITY, liquid_viscosity); PACK(CONTENTFEATURES_LIQUID_RENEWABLE, liquid_renewable); PACK(CONTENTFEATURES_LIGHT_SOURCE, light_source); PACK(CONTENTFEATURES_DAMAGE_PER_SECOND, damage_per_second); PACK(CONTENTFEATURES_NODE_BOX, node_box); PACK(CONTENTFEATURES_SELECTION_BOX, selection_box); PACK(CONTENTFEATURES_LEGACY_FACEDIR_SIMPLE, legacy_facedir_simple); PACK(CONTENTFEATURES_LEGACY_WALLMOUNTED, legacy_wallmounted); PACK(CONTENTFEATURES_SOUND_FOOTSTEP, sound_footstep); PACK(CONTENTFEATURES_SOUND_DIG, sound_dig); PACK(CONTENTFEATURES_SOUND_DUG, sound_dug); PACK(CONTENTFEATURES_RIGHTCLICKABLE, rightclickable); PACK(CONTENTFEATURES_DROWNING, drowning); PACK(CONTENTFEATURES_LEVELED, leveled); PACK(CONTENTFEATURES_WAVING, waving); PACK(CONTENTFEATURES_MESH, mesh); PACK(CONTENTFEATURES_COLLISION_BOX, collision_box); }
static inline void pack(msgpack::packer<Stream>& target, const raft::log_entry<StateMachine>& source) { target.pack_array(2); target << source.term(); type_traits<value_type>::pack(target, source.value()); }
void compressive_storage::pack( msgpack::packer<msgpack::sbuffer>& packer) const { packer.pack_array(4); packer.pack(static_cast<const storage&>(*this)); packer.pack(mine_); packer.pack(status_); packer.pack(*compressor_); }
static inline void pack(msgpack::packer<Stream>& target, const std::vector<T>& source) { target.pack_array(source.size()); for(auto it = source.begin(); it != source.end(); ++it) { type_traits<T>::pack(target, *it); } }
static inline void pack(msgpack::packer<Stream>& packer, const unique_id_t& source) { packer.pack_array(2); packer << source.uuid[0]; packer << source.uuid[1]; }
static inline void pack(msgpack::packer<Stream>& packer, const unique_id_t& object) { packer.pack_array(2); packer << object.uuid[0]; packer << object.uuid[1]; }
static inline void pack(msgpack::packer<Stream>& packer, const api::policy_t& source) { packer.pack_array(3); packer << source.urgent; packer << source.timeout; packer << source.deadline; }
static inline void pack(msgpack::packer<Stream>& packer, const Json::Value& source) { switch(source.type()) { case Json::objectValue: { packer.pack_map(source.size()); const Json::Value::Members keys(source.getMemberNames()); for(auto it = keys.begin(); it != keys.end(); ++it) { packer << *it; pack(packer, source[*it]); } } break; case Json::arrayValue: { packer.pack_array(source.size()); for(auto it = source.begin(); it != source.end(); ++it) { pack(packer, *it); } } break; case Json::booleanValue: { packer << source.asBool(); } break; case Json::stringValue: { packer << source.asString(); } break; case Json::realValue: { packer << source.asDouble(); } break; case Json::intValue: { packer << source.asLargestInt(); } break; case Json::uintValue: { packer << source.asLargestUInt(); } break; case Json::nullValue: { packer << msgpack::type::nil(); }} }
void Chunk::save(msgpack::packer<Poco::DeflatingOutputStream>& o) const { const bool has_meshes = false; uint32_t array_size = 3; if(has_meshes) array_size += 1; o.pack_array(array_size); const bool is_solid = this->solid_block != nullptr; o.pack(is_solid); if(is_solid) { o.pack(this->solid_block); } else { o.pack(this->blocks); } o.pack(has_meshes); if(has_meshes) { o.pack(this->get_meshes()); } }
void msgpack_pack(msgpack::packer<Buffer>& packer) const { packer.pack_array(2); packer.pack(static_cast<uint8_t>(type_)); packer.pack(static_cast<uint64_t>(bit_vector_length_)); }
void pack(msgpack::packer<msgpack::sbuffer>& packer) const { packer.pack_array(mixables_.size()); for (size_t i = 0; i < mixables_.size(); ++i) { mixables_[i]->pack(packer); } }
void simple_storage::pack(msgpack::packer<msgpack::sbuffer>& packer) const { packer.pack_array(2); packer.pack(static_cast<const storage&>(*this)); packer.pack(mine_); }