-
Notifications
You must be signed in to change notification settings - Fork 33
Closed
Description
Objective
Offload the business logic of message routing entirely to the P2P module
We currently connect nodes using the endpoint (host & port) captured in an actor's ServiceUrl, which is retrieved/set using the GenericParam field in the proto. See #313 for the source of this naming and grep for generic_param in the codebase to find its uses. By default, we configure nodes to list on port 8080.
Hosts, ports and endpoint logic/complexity should be encapsulated inside the P2P module. No other modules, or configurations files (e.g. geneis et al) should have any understanding of network routing other than cryptographic identities.
Origin Document
If you are taking on this task, make sure to read this discussion first: #403 (comment)
Goals
- Encapsulate network routing business logic to the
P2Pmodule - Use cryptographic identities only for messaging, communication and configuration outside the
P2Pmodule - Set up the codebase for integration with libp2p
Deliverable
- Address
TODO (#426):in the codebase - Refactor related code accordingly. Including but not limited to:
- Removing exposed P2P business logic (eg:
ActorToNetworkPeer)
- Removing exposed P2P business logic (eg:
Non-goals / Non-deliverables
- [P2P] Peer Discovery - LibP2P - Consolidate Node/Peer ID with LibP2P Peer ID ([P2P][LibP2P][SPIKE] Consolidate and Refactor Node Identity #348)
- [Utility] Design & implement a better approach to
GenericParam/ActorSpecificParam([Utility] Design & implement a better approach toGenericParam/ActorSpecificParam#313)
General issue deliverables
- Update the appropriate CHANGELOG(s)
- Update any relevant local/global README(s)
- Update relevant source code tree explanations
- Add or update any relevant or supporting mermaid diagrams
Testing Methodology
- Task specific tests or benchmarks:
make ... - New tests or benchmarks:
make ... - All tests:
make test_all - LocalNet: verify a
LocalNetis still functioning correctly by following the instructions at docs/development/README.md
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
p2pP2P specific changesP2P specific changes
Type
Projects
Status
Done