nervosnetwork / nervosnetwork/ckb
Consider Adding More Efficient Compression Methods to `ckb-network::Message::compress/decompress`
- Dominant language
- Rust
- Stars
- 1.2k
- Forks
- 266
- Avg merge
- 10d 5h
- Merged PRs (30d)
- 4
Description
## Feature Request
#### Is your feature request related to a problem? Please describe.
In the current implementation, ckb-network only supports the Snappy compression method.
https://github.com/nervosnetwork/ckb/blob/9f48908d523bfdcf920e06ae649ad30d107e2688/network/src/compress.rs#L67-L99
How about considering supporting other methods, such as `lz4`?
Contributor guide
Research direction
Start by reading network/src/compress.rs, especially the Message::compress and Message::decompress implementation around lines 67-99, and review how ckb-network currently uses Snappy. Define how an additional method such as lz4 would be selected and represented, then verify that compression and decompression remain compatible across network messages.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- networking
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100