Skip to content
This repository has been archived by the owner on Aug 2, 2022. It is now read-only.

ship: uncompress when sending to clients #7383

Merged
merged 1 commit into from
May 20, 2019
Merged

Conversation

tbfleming
Copy link
Contributor

Change Description

This change separates on-disk compression from on-socket compression. This helps to support the following in the future:

  • User-configured on-disk compression policy (e.g. none, gzip, lz4, ...)
  • Websocket compression extensions

This change causes the first delta to bump past the exising 1GB limit in the on-socket protocol on partial history nodes. This is close to varuint32's 4GB limit. This PR upgrades the size prefix from a varuint32 to a varuint64 and removes the limit.

Related: #7381

Consensus Changes

  • Consensus Changes

API Changes

  • API Changes

get_blocks_result_v0 traces and deltas fields:

  • Are no longer compressed
  • Now have a varuint64 length prefix. varuint32 and varuint64 length prefixes have the same binary format as long as the payload doesn't hit 4GB.

Documentation Additions

  • Documentation Additions

@tbfleming tbfleming merged commit 2241b1f into release/1.8.x May 20, 2019
@tbfleming tbfleming deleted the ship-decompress branch May 20, 2019 16:33
tbfleming added a commit that referenced this pull request May 20, 2019
tbfleming added a commit that referenced this pull request May 20, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants