Что является причиной того, что CVarInt не используется для сериализации в основных классах в Bitcoin?
Сом примеры будут:
CBlockHeader.nVersion
CTransaction.nVersion
CTransaction.nLockTime
COutPoint.n
Я понимаю, что CVarInt используется только для "внутренний" типы хранения (CTxInUndo, CDiskBlockIndex и другие), но я не понимаю, почему.
Есть ли у него что-то делать с этим классы, которые упорядочиваются по сети не должны использовать сжатые формы, или есть компромисс сжатого дискового пространства по сравнению вычислительных накладных расходов в сжатия / распаковки?
Или это просто наследие вещь, что протокол не сжимают с самого начала, и формат застрял вокруг с тех пор?