ChainSafe / ChainSafe/gossamer

dot/network: determine message sizes for notifications message types and potentially update buffer pool acordingly

Open
#2,045 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Go
Stars
454
Forks
144
PR merge metrics
No merged PRs in 30d

Description

## Task summary

- for each notifications message type `BlockAnnounceMessage`, `ConsensusMessage`, and `TransactionsMessage`, they will likely have different maximum sizes
- `BlockAnnounceMessage`: all fields will be the same size each time except for the digest
- `ConsensusMessage`: can vary a lot depending on what's inside it (eg. vote, commit, etc) commit messages will also be proportional to the # of authorities on the network, so could get large
- `TransactionsMessage`: really depends on the # of extrinsics in it, and the size of the extrinsic. can get quite large, for example an extrinsic proposing a new runtime to the network might be >2mb
- currently the network buffer pool only deals with buffers of size `maxMessageSize = 1024 * 63 // 63kb`. potentially this max message size will be different for different messages, so we could have different pools for each
- however we might find there isn't really a point to multiple pools, depends on the max message sizes that are found.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.