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: Add network simulation framework #14982

Merged
merged 10 commits into from Sep 25, 2017

Conversation

Projects
None yet
4 participants
@lmars
Contributor

lmars commented Aug 16, 2017

This PR introduces a network simulation framework which can be used to run simulated networks of devp2p nodes.

The intention is to use this for testing protocols, performing benchmarks and visualising emergent network behaviour.

See p2p/simulations/README.md for a detailed description.

This replaces #3102.

@zelig

This comment has been minimized.

Show comment
Hide comment
@zelig

zelig Aug 16, 2017

Contributor

This PR is a work of the last 8 months and went through several phases of evolution. The version can be considered pretty extensively tested and carefully reviewed. But I dont want to put me as a reviewer.

Contributor

zelig commented Aug 16, 2017

This PR is a work of the last 8 months and went through several phases of evolution. The version can be considered pretty extensively tested and carefully reviewed. But I dont want to put me as a reviewer.

Show outdated Hide outdated p2p/simulations/cmd/p2psim/main.go Outdated
Show outdated Hide outdated p2p/message.go Outdated

lmars added some commits Aug 14, 2017

node: Support exposing all APIs via WebSocket RPC
Signed-off-by: Lewis Marshall <lewis@lmars.net>
p2p: Add peer events
Signed-off-by: Lewis Marshall <lewis@lmars.net>
p2p: Add NodeDialer interface
Signed-off-by: Lewis Marshall <lewis@lmars.net>
p2p/discover: Make NodeID implement the encoding.TextMarshaler interface
Signed-off-by: Lewis Marshall <lewis@lmars.net>
p2p: Prevent blocking on the conn.cont channel
Signed-off-by: Lewis Marshall <lewis@lmars.net>
rpc: Support subscribing to arbitrary API namespaces
Signed-off-by: Lewis Marshall <lewis@lmars.net>
p2p: Add network simulation framework
Signed-off-by: Lewis Marshall <lewis@lmars.net>
p2p: Rename MsgEventer to msgEventer
Signed-off-by: Lewis Marshall <lewis@lmars.net>
cmd: Move p2psim into top-level cmd directory
Signed-off-by: Lewis Marshall <lewis@lmars.net>
@lmars

This comment has been minimized.

Show comment
Hide comment
@lmars

lmars Sep 15, 2017

Contributor

@fjl comments addressed in cd12a9e and 30810aa (I have also rebased on master)

Contributor

lmars commented Sep 15, 2017

@fjl comments addressed in cd12a9e and 30810aa (I have also rebased on master)

@fjl

This comment has been minimized.

Show comment
Hide comment
@fjl

fjl Sep 18, 2017

Contributor

@lmars please fix tests

Contributor

fjl commented Sep 18, 2017

@lmars please fix tests

p2p/simulations: Fix HTTP message filter tests
Signed-off-by: Lewis Marshall <lewis@lmars.net>
@lmars

This comment has been minimized.

Show comment
Hide comment
@lmars

lmars Sep 22, 2017

Contributor

@fjl I fixed the message filter tests in 6127cfe, one of the Travis builds timed out but I'm not sure if that is an intermittent failure on master as it seems unrelated to the changes in this PR.

Contributor

lmars commented Sep 22, 2017

@fjl I fixed the message filter tests in 6127cfe, one of the Travis builds timed out but I'm not sure if that is an intermittent failure on master as it seems unrelated to the changes in this PR.

@fjl

fjl approved these changes Sep 25, 2017

@fjl fjl merged commit 9feec51 into ethereum:master Sep 25, 2017

1 of 3 checks passed

continuous-integration/travis-ci/pr The Travis CI build could not complete due to an error
Details
continuous-integration/appveyor/pr AppVeyor build failed
Details
commit-message-check/gitcop All commit messages are valid
Details

@karalabe karalabe modified the milestones: 1.7.0, 1.7.1 Sep 25, 2017

vincentserpoul added a commit to vincentserpoul/go-ethereum that referenced this pull request Oct 4, 2017

p2p: add network simulation framework (ethereum#14982)
This commit introduces a network simulation framework which
can be used to run simulated networks of devp2p nodes. The
intention is to use this for testing protocols, performing
benchmarks and visualising emergent network behaviour.

vincentserpoul added a commit to vincentserpoul/go-ethereum that referenced this pull request Oct 28, 2017

p2p: add network simulation framework (ethereum#14982)
This commit introduces a network simulation framework which
can be used to run simulated networks of devp2p nodes. The
intention is to use this for testing protocols, performing
benchmarks and visualising emergent network behaviour.

vincentserpoul added a commit to vincentserpoul/go-ethereum that referenced this pull request Nov 22, 2017

p2p: add network simulation framework (ethereum#14982)
This commit introduces a network simulation framework which
can be used to run simulated networks of devp2p nodes. The
intention is to use this for testing protocols, performing
benchmarks and visualising emergent network behaviour.

@gbalint gbalint deleted the ethersphere:p2p-simulations branch Dec 12, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment