Я хочу переместить заголовок ввода-вывода в начало определенного потока CodedOutputStream или ZeroCopyOutputStream, чтобы я мог обновить структуру данных заголовка, указав, сколько сообщений protobuf находится в файле и сколько байтов потребляют следующие сообщения.
функция резервного копирования не предназначен для этого, есть предложения? Я создаю формат файла для данных событий, где каждый файл содержит несколько наборов данных событий. Для этого мне нужно 2 типа объектов заголовка (фиксированный размер): глобальный и для каждого набора данных. Я обновляю их после записи событий набора данных. Итак, как мне переместить заголовок записи, не повреждая внутреннее состояние объектов потока?
изменить
Интересно, если я сброшу обертки потока и просто использую функции c для переустановки головы, будет ли это работать для классов потока или я окажусь в неопределенной земле?