protobuf: Сериализация сообщения с разделителями для закодированного потока завершается с ошибкой после 8192 байтов - PullRequest
1 голос
/ 05 мая 2019

Я пытаюсь написать серию сообщений , разделенных с помощью этой функции в google::protobuf::util, в кодированный поток, указывающий на файл в моей локальной файловой системе. Похоже, что вызов message.SerializeWithCachedSizes() завершается неудачно после успешной записи в поток ровно 8192 байта сообщений с разделителями.

Мой вариант использования практически идентичен этому пользователю, который задал вопрос о том, как записывать сообщения в файл.

Документация о буфере протокола ничего не говорит об особой обработке записи данных в закодированный поток за пределы 8192 байтов, насколько я мог видеть, поэтому я предполагаю, что это должно сработать. Это ожидаемое поведение, и другие ли успешно использовали эту функцию без проблем?

Я также пытался использовать Ostream и ZeroCopyFileStream с тем же поведением.

...