MCPcopy Create free account
hub / github.com/apache/nifi-minifi-cpp / serialize

Method serialize

libminifi/src/serialization/FlowFileV3Serializer.cpp:68–109  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

66}
67
68int FlowFileV3Serializer::serialize(const std::shared_ptr<core::FlowFile>& flowFile, const std::shared_ptr<io::OutputStream>& out) {
69 int sum = 0;
70 int ret;
71 ret = out->write(const_cast<uint8_t*>(MAGIC_HEADER), sizeof(MAGIC_HEADER));
72 if (ret < 0) {
73 return ret;
74 }
75 if (ret != sizeof(MAGIC_HEADER)) {
76 return -1;
77 }
78 sum += ret;
79 const auto& attributes = flowFile->getAttributes();
80 ret = writeLength(attributes.size(), out);
81 if (ret < 0) {
82 return ret;
83 }
84 sum += ret;
85 for (const auto& attrIt : attributes) {
86 ret = writeString(attrIt.first, out);
87 if (ret < 0) {
88 return ret;
89 }
90 sum += ret;
91 ret = writeString(attrIt.second, out);
92 if (ret < 0) {
93 return ret;
94 }
95 sum += ret;
96 }
97 ret = out->write(static_cast<uint64_t>(flowFile->getSize()));
98 if (ret < 0) {
99 return ret;
100 }
101 sum += ret;
102 InputStreamPipe pipe(out);
103 ret = reader_(flowFile, &pipe);
104 if (ret < 0) {
105 return ret;
106 }
107 sum += ret;
108 return sum;
109}
110
111} /* namespace minifi */
112} /* namespace nifi */

Callers

nothing calls this directly

Calls 5

writeStringFunction · 0.85
writeMethod · 0.45
getAttributesMethod · 0.45
sizeMethod · 0.45
getSizeMethod · 0.45

Tested by

no test coverage detected