ChainSafe / ChainSafe/gossamer
dot/network: determine message sizes for notifications message types and potentially update buffer pool acordingly
- 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
Assessment
This issue has not been assessed yet.