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/simulations: remove simulations module #30250

Merged
merged 2 commits into from
Aug 12, 2024

Conversation

lightclient
Copy link
Member

Proposing we remove the module p2p/simulations from geth. This was previously suggested in 2019 by the swarm team, but at that point @fjl was happy keeping it in geth. Over the past five years we've developed the suite of tests in cmd/devp2p. I can't say for certain, but it appears this has reduced our reliance on p2p/simulations?

Looking at the history of the module over the past several years, there haven't been any meaningful contributions or usages: https://github.com/ethereum/go-ethereum/commits/master/p2p/simulations?before=de6d5976794a9ed3b626d4eba57bf7f0806fb970+35

Almost all of the commits to the module are part of larger refactors or low-hanging-fruit contributions. Seems like it's not providing much value and taking up team + contributor time.

@lightclient lightclient changed the title p2p: remove simulations module p2p/simulations: remove simulations module Jul 31, 2024
@@ -383,12 +382,8 @@ func BenchmarkHandshakeRead(b *testing.B) {
}

func BenchmarkThroughput(b *testing.B) {
pipe1, pipe2, err := pipes.TCPPipe()
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's useful to have TCPPipe because it buffers the input to some extent, unlike net.Pipe which is implemented purely in Go and does not buffer.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Okay I see. I added back the TCPPipe implementation.

@fjl fjl added this to the 1.14.8 milestone Aug 12, 2024
@fjl fjl merged commit 33a13b6 into ethereum:master Aug 12, 2024
2 of 3 checks passed
"github.com/ethereum/go-ethereum/p2p/simulations/adapters"
"github.com/ethereum/go-ethereum/rpc"
"github.com/gorilla/websocket"
"github.com/julienschmidt/httprouter"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Need to run go mod tidy to disregard this package in the go.mod

rjl493456442 pushed a commit to rjl493456442/go-ethereum that referenced this pull request Aug 13, 2024
Looking at the history of these packages over the past several years, there
haven't been any meaningful contributions or usages:
https://github.com/ethereum/go-ethereum/commits/master/p2p/simulations?before=de6d5976794a9ed3b626d4eba57bf7f0806fb970+35

Almost all of the commits are part of larger refactors or low-hanging-fruit contributions.
Seems like it's not providing much value and taking up team + contributor time.
RaghavSood pushed a commit to NixOS/nixpkgs that referenced this pull request Aug 15, 2024
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

Successfully merging this pull request may close these issues.

3 participants