mirror of
https://github.com/OffchainLabs/prysm.git
synced 2026-01-08 23:18:15 -05:00
shared: Split P2P Topics And Introduce Middleware (Adapters) (#421)
This commit is contained in:
committed by
Raul Jordan
parent
5adc94b2ae
commit
b02042dbe9
@@ -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"],
|
||||
)
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
28
validator/node/p2p_config.go
Normal file
28
validator/node/p2p_config.go
Normal 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
|
||||
}
|
||||
Reference in New Issue
Block a user