libp2p / libp2p/go-libp2p

rcmgr: miscellaneous feedback on the design/interface

Open
#1,709 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Go
Stars
6.9k
Forks
1.3k
Avg merge
13d 21h
Merged PRs (30d)
1

Description

Below are things that stood out when reading the README with fresh eyes.

Feedback on https://github.com/libp2p/go-libp2p-resource-manager/blob/master/README.md
1. (minor) The DAG diagram is hard for me to parse. I think it we want to show a DAG, it's better to use something like graphviz. It looks like that can be done cleanly with Github following something like https://github.com/TLmaK0/gravizo
2. We are inlining default limits. I think we should remove them and point to https://github.com/libp2p/go-libp2p-resource-manager/blob/master/limit_defaults.go because that is that is the source of truth and is complete. For example, the inlined limits are missing "DefaultPeerBaseLimit"

Feedback on https://github.com/libp2p/go-libp2p-resource-manager/blob/master/limit_defaults.go
1. I was surprised to see ServicePeer* and ProtocolPeer* limits since I don't think I saw them in the readme.
2. Why do we need to define a "BaseLimit" and "Memory" separately. Maybe this design choice should be discussed in the readme?

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with README.md and limit_defaults.go, comparing the documented limits and the source-of-truth defaults. Review the DAG diagram and the explanations of ServicePeer*, ProtocolPeer*, BaseLimit, and Memory. Confirm the intended documentation scope with maintainers; done means the README accurately reflects the defaults and explains the relevant design choices.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
documentation, networking
Issue type
Documentation
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.