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