MCPcopy Create free account
hub / github.com/TileDB-Inc/TileDB / array_open_serialize

Function array_open_serialize

tiledb/sm/serialization/array.cc:595–635  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

593}
594
595Status array_open_serialize(
596 const Array& array,
597 SerializationType serialize_type,
598 SerializationBuffer& serialized_buffer) {
599 try {
600 ::capnp::MallocMessageBuilder message;
601 capnp::ArrayOpen::Builder arrayOpenBuilder =
602 message.initRoot<capnp::ArrayOpen>();
603 RETURN_NOT_OK(array_open_to_capnp(array, &arrayOpenBuilder));
604
605 switch (serialize_type) {
606 case SerializationType::JSON: {
607 ::capnp::JsonCodec json;
608 kj::String capnp_json = json.encode(arrayOpenBuilder);
609 serialized_buffer.assign(capnp_json);
610 break;
611 }
612 case SerializationType::CAPNP: {
613 kj::Array<::capnp::word> protomessage = messageToFlatArray(message);
614 serialized_buffer.assign(protomessage.asChars());
615 break;
616 }
617 default: {
618 return LOG_STATUS(Status_SerializationError(
619 "Error serializing array open; Unknown serialization type "
620 "passed: " +
621 std::to_string(static_cast<uint8_t>(serialize_type))));
622 }
623 }
624
625 } catch (kj::Exception& e) {
626 return LOG_STATUS(Status_SerializationError(
627 "Error serializing array open; kj::Exception: " +
628 std::string(e.getDescription().cStr())));
629 } catch (std::exception& e) {
630 return LOG_STATUS(Status_SerializationError(
631 "Error serializing array open; exception " + std::string(e.what())));
632 }
633
634 return Status::Ok();
635}
636
637Status array_open_deserialize(
638 Array* array,

Callers 2

post_array_from_restMethod · 0.85

Calls 6

array_open_to_capnpFunction · 0.85
LOG_STATUSFunction · 0.85
assignMethod · 0.45
whatMethod · 0.45

Tested by

no test coverage detected