shared: Split P2P Topics And Introduce Middleware (Adapters) (#421)

This commit is contained in:
Preston Van Loon
2018-08-29 12:32:54 -04:00
committed by Raul Jordan
parent 5adc94b2ae
commit b02042dbe9
27 changed files with 869 additions and 509 deletions

View File

@@ -1,11 +1,22 @@
load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test")
go_test(
name = "go_default_test",
srcs = ["node_test.go"],
embed = [":go_default_library"],
deps = ["@com_github_urfave_cli//:go_default_library"],
)
go_library(
name = "go_default_library",
srcs = ["node.go"],
srcs = [
"node.go",
"p2p_config.go",
],
importpath = "github.com/prysmaticlabs/prysm/validator/node",
visibility = ["//validator:__subpackages__"],
deps = [
"//proto/sharding/p2p/v1:go_default_library",
"//shared:go_default_library",
"//shared/cmd:go_default_library",
"//shared/database:go_default_library",
@@ -21,10 +32,3 @@ go_library(
"@com_github_urfave_cli//:go_default_library",
],
)
go_test(
name = "go_default_test",
srcs = ["node_test.go"],
embed = [":go_default_library"],
deps = ["@com_github_urfave_cli//:go_default_library"],
)

View File

@@ -137,7 +137,7 @@ func (s *ShardEthereum) startDB(ctx *cli.Context) error {
// registerP2P attaches a p2p server to the ShardEthereum instance.
func (s *ShardEthereum) registerP2P() error {
shardp2p, err := p2p.NewServer()
shardp2p, err := configureP2P()
if err != nil {
return fmt.Errorf("could not register shardp2p service: %v", err)
}

View File

@@ -0,0 +1,28 @@
package node
import (
"github.com/prysmaticlabs/prysm/shared/p2p"
pb "github.com/prysmaticlabs/prysm/proto/sharding/p2p/v1"
)
var topicMappings = map[pb.Topic]interface{}{
pb.Topic_COLLATION_BODY_REQUEST: pb.CollationBodyRequest{},
pb.Topic_COLLATION_BODY_RESPONSE: pb.CollationBodyResponse{},
pb.Topic_TRANSACTIONS: pb.Transaction{},
}
func configureP2P() (*p2p.Server, error) {
s, err := p2p.NewServer()
if err != nil {
return nil, err
}
// TODO(437, 438): Define default adapters for logging, monitoring, etc.
var adapters []p2p.Adapter
for k, v := range topicMappings {
s.RegisterTopic(k.String(), v, adapters...)
}
return s, nil
}