Есть ли некоторое волшебство, требуемое получить "zlib синхронизирующий сброс" при использовании boost::iostreams::zlib_compressor
? Просто вызов flush
на фильтре, или strict_sync
на a filtering_ostream
содержание его не видит, чтобы сделать задание (т.е. я хочу, чтобы компрессор сбросил достаточно, что декомпрессор может восстановить все байты, использованные компрессором до сих пор, не закрывая поток).
При рассмотрении заголовка там, кажись, быть некоторыми "кодами сброса", определенными (особенно a sync_flush
) но неясно мне, как они должны использоваться (мысль, что мой компрессор просто добавляется в a filtering_ostream
).
Оказывается, существует фундаментальная проблема, заключающаяся в том, что симметричный_фильтр
, который наследуется от
zlib_compressor
, сам по себе не может быть удален (что кажется скорее
надзор).
Возможно, добавить такую поддержку в simric_filter
будет так же просто, как добавить flushable_tag
и раскрыть существующие методы приватного сброса, но пока я могу жить с этим.