-
Notifications
You must be signed in to change notification settings - Fork 20k
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
Conversation
p2p/rlpx/rlpx_test.go
Outdated
@@ -383,12 +382,8 @@ func BenchmarkHandshakeRead(b *testing.B) { | |||
} | |||
|
|||
func BenchmarkThroughput(b *testing.B) { | |||
pipe1, pipe2, err := pipes.TCPPipe() |
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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.
8767c0e
to
558b5b8
Compare
558b5b8
to
a50fc3b
Compare
"github.com/ethereum/go-ethereum/p2p/simulations/adapters" | ||
"github.com/ethereum/go-ethereum/rpc" | ||
"github.com/gorilla/websocket" | ||
"github.com/julienschmidt/httprouter" |
There was a problem hiding this comment.
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
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.
Release notes: https://github.com/ethereum/go-ethereum/releases/tag/v1.14.8 Note that cmd/p2psim was removed in ethereum/go-ethereum#30250
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 incmd/devp2p
. I can't say for certain, but it appears this has reduced our reliance onp2p/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.