in libminifi/src/FlowFileRecord.cpp [69:150]
bool FlowFileRecordImpl::Serialize(io::OutputStream &outStream) {
{
uint64_t event_time_ms = std::chrono::duration_cast<std::chrono::milliseconds>(event_time_.time_since_epoch()).count();
const auto ret = outStream.write(event_time_ms);
if (ret != 8) {
return false;
}
}
{
uint64_t entry_date_ms = std::chrono::duration_cast<std::chrono::milliseconds>(entry_date_.time_since_epoch()).count();
const auto ret = outStream.write(entry_date_ms);
if (ret != 8) {
return false;
}
}
{
uint64_t lineage_start_date_ms = std::chrono::duration_cast<std::chrono::milliseconds>(lineage_start_date_.time_since_epoch()).count();
const auto ret = outStream.write(lineage_start_date_ms);
if (ret != 8) {
return false;
}
}
{
const auto ret = outStream.write(uuid_);
if (ret == 0 || io::isError(ret)) {
return false;
}
}
utils::Identifier containerId;
if (connection_) {
containerId = connection_->getUUID();
}
{
const auto ret = outStream.write(containerId);
if (ret == 0 || io::isError(ret)) {
return false;
}
}
// write flow attributes
{
const auto numAttributes = gsl::narrow<uint32_t>(attributes_.size());
const auto ret = outStream.write(numAttributes);
if (ret != 4) {
return false;
}
}
for (auto& itAttribute : attributes_) {
{
const auto ret = outStream.write(itAttribute.first, true);
if (ret == 0 || io::isError(ret)) {
return false;
}
}
{
const auto ret = outStream.write(itAttribute.second, true);
if (ret == 0 || io::isError(ret)) {
return false;
}
}
}
{
const auto ret = outStream.write(getContentFullPath());
if (ret == 0 || io::isError(ret)) {
return false;
}
}
{
const auto ret = outStream.write(size_);
if (ret != 8) {
return false;
}
}
{
const auto ret = outStream.write(offset_);
if (ret != 8) {
return false;
}
}
return true;
}