iri
iri copied to clipboard
Map origin neighbours in solidification queue
Description
In PR #1646 the TransactionSolidifier
uses a queue of hashes with no reference to the originating neighbour. When the transactions make it through the solidification processing, they are broadcast, but since we do not know the source of the milestone transaction, we broadcast to all neighbours, including the one that sent the transaction in the first place. These transfers to the originating node serve no purpose and use up bandwidth.
As all transactions placed into the queue are added through the milestone solidification process, there is no originating source for the neighbour information to be drawn from and passed forward through the pipeline. This changes with the introduction of the milestone stage in PR #1696. With this stage we would be placing milestones into the solidification process directly from the TransactionProcessingPipeline
. From here we could map the transactions to the originating neighbour and avoid broadcasting the milestones and all subsequently solidified transactions to the originating source of the milestone.
Motivation
Stop broadcasting transactions to neighbours that sent them in the first place after they have been solidified.
Requirements
- [ ] Transactions placed into the
TransactionSolidifier
are mapped to their originating neighbour - [ ] Transactions processed through the
TransactionSolidifier
do not broadcast to the originating neighbour
Am I planning to do it myself with a PR?
Yes. I believe this should be a part of #1696