feat(dot/network/shim): implement NetworkPeers.ReportPeer on translation shim type#4848
Open
Aliexe-code wants to merge 3 commits intoChainSafe:developmentfrom
Open
feat(dot/network/shim): implement NetworkPeers.ReportPeer on translation shim type#4848Aliexe-code wants to merge 3 commits intoChainSafe:developmentfrom
Aliexe-code wants to merge 3 commits intoChainSafe:developmentfrom
Conversation
…ncing interfaces Add foundation implementation of translation shim that implements both gossip.Network and gossip.Syncing interfaces. This shim serves as a bridge between the new interface definitions and the existing Gossamer network implementation. The shim is placed in a separate package (dot/network/shim) to avoid circular dependencies between internal/client/network and dot/network packages. Both TranslationShim and syncShim types are provided: - TranslationShim implements gossip.Network with 19 methods - syncShim implements gossip.Syncing[common.Hash, uint] with 4 methods - All methods currently panic as this is a foundational implementation - Future PRs will replace panic implementations with actual translations This implementation addresses issue ChainSafe#4798 and provides the foundation for subsequent network layer refactoring work. Acceptance criteria met: - Implements Network interface - Implements Syncing interface - All methods panic as required for foundation implementation - 100% test coverage with 26 test cases - Passes all linting checks
…ainSafe#4799) Implement ReportPeer method on TranslationShim that: - Translates network.ReputationChange to peerset.ReputationChange - Translates peerid.PeerID to peer.ID via embedded field access - Calls peerset.Handler.ReportPeer to adjust peer reputation - Panics if handler is nil Changes: - Add handler field to TranslationShim struct - Update constructors to accept *peerset.Handler parameter - Implement ReportPeer with type translations - Add comprehensive unit tests (100% coverage for ReportPeer) Acceptance criteria: - [x] ReportPeer adjusts peer reputation of given peer - [x] 100% coverage for ReportPeer function Related: ChainSafe#4798
Contributor
|
Thanks for submitting this @Aliexe-code. Unfortunately work on Gossamer is paused indefinitely. Unlikely that we will get around to reviewing this anytime soon, sorry. 😞 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Changes
handlerfield toTranslationShimstruct to hold reference to*peerset.HandlerNewTranslationShimandNewSyncShimconstructors to accept*peerset.HandlerparameterReportPeermethod with type translations:network.ReputationChangetopeerset.ReputationChangepeerid.PeerIDtopeer.IDvia embedded field accesspeerset.Handler.ReportPeerto adjust peer reputationReportPeer(nil handler and success cases)Tests