Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[P2P] Replace addressing via ServiceUrl/GenericParam with P2P routing #426

Closed
3 of 11 tasks
deblasis opened this issue Jan 3, 2023 · 5 comments
Closed
3 of 11 tasks
Assignees
Labels
p2p P2P specific changes

Comments

@deblasis
Copy link
Contributor

deblasis commented Jan 3, 2023

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 P2P module
  • Use cryptographic identities only for messaging, communication and configuration outside the P2P module
  • 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)

Non-goals / Non-deliverables

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 LocalNet is still functioning correctly by following the instructions at docs/development/README.md

Creator: @deblasis
Co-Owners: @Olshansk

@Olshansk
Copy link
Member

Olshansk commented Jan 3, 2023

@deblasis Made a few edits to the description so the scope is pretty clearly defined now.

@deblasis
Copy link
Contributor Author

deblasis commented Jan 3, 2023

Thank you @Olshansk 🙏

@jessicadaugherty
Copy link
Contributor

@jessicadaugherty and @bryanchriswhite investigate how much of this was accomplished through P2P refacotring and update or delete accordingly

@Olshansk
Copy link
Member

@bryanchriswhite Can you review this ticket after merging in all the ongoing work, I think it'll be either resolved or no longer relevant.

@bryanchriswhite
Copy link
Contributor

All deliverables have been completed over the course of libp2p integration and refactoring.

@github-project-automation github-project-automation bot moved this from Rescope to Done in V1 Dashboard Apr 24, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
p2p P2P specific changes
Projects
Status: Done
Development

No branches or pull requests

4 participants