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

Tracking issue for DMS repository networking #429

Open
junha1 opened this issue Apr 3, 2023 · 0 comments
Open

Tracking issue for DMS repository networking #429

junha1 opened this issue Apr 3, 2023 · 0 comments

Comments

@junha1
Copy link
Member

junha1 commented Apr 3, 2023

Background

Current impl. of Simperby's repository networking is based on directly fetching and pushing branches using the Git remote protocol.
This works nicely, but has some drawbacks

  1. Not fast. We can't even optimize it because its Git internal
  2. Not abstracted above p2p protocol. If we introduce a new p2p channel that accepts only byte packets, I think it's not trivial to integrate git push and fetch above it.
    3.Additional channel is always good!
  3. Reuse interface and future optimization effort in DMS which is already used in with Governance & Consensus.

How

  • Use DMS to broadcast Git branches. See repository::interpret::dms.
  • You should be familiar with DMS.
  • Encode target branches and commits into binary packet, and then put it to a DMS instance.
  • Decode binary packets into branches and commits, after received from a DMS instance

Caveats

  • Note that DMS is for a single height. We still need plain git push / git fetch for multiple block followup
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant