Как я могу получить байтовый массив avro GenericRecord? - PullRequest
0 голосов
/ 11 ноября 2019

Я пытаюсь получить сериализованный avro GenericRecord, который я заполнил. Я не хочу записывать avro в файл, но вместо этого получаю байтовый массив, который я могу передать дальше.

Я действительно пытался писать, используя avro :: GenericWriter и avro :: StreamReader, но все, что я получаю, этопустой байтовый массив длиной 4096

1004

Что я пробовал: 1006

avro::EncoderPtr e = avro::binaryEncoder();
avro::OutputStreamPtr out = avro::memoryOutputStream();
e->init(*out);

avro::GenericWriter writer(recordSchema, e);
writer.write(result);
out->flush();

avro::InputStreamPtr in = avro::memoryInputStream(*out);
avro::StreamReader reader(*in);
size_t outputLen = out->byteCount();
uint8_t* theByteData = new uint8_t[outputLen];
reader.readBytes(theByteData, outputLen);
return (char*)theByteData;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...