Skip to content

Commit 2669f47

Browse files
authored
fix(p2p): re-use p2p host when running federated mode (#3341)
Signed-off-by: Ettore Di Giacinto <[email protected]>
1 parent aca2c41 commit 2669f47

File tree

5 files changed

+13
-16
lines changed

5 files changed

+13
-16
lines changed

core/cli/run.go

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -145,15 +145,13 @@ func (r *RunCMD) Run(ctx *cliContext.Context) error {
145145
if err != nil {
146146
return err
147147
}
148-
if err := p2p.ExposeService(context.Background(), "localhost", port, token, p2p.NetworkID(r.Peer2PeerNetworkID, p2p.FederatedID)); err != nil {
149-
return err
150-
}
151-
node, err := p2p.NewNode(token)
148+
fedCtx := context.Background()
149+
node, err := p2p.ExposeService(fedCtx, "localhost", port, token, p2p.NetworkID(r.Peer2PeerNetworkID, p2p.FederatedID))
152150
if err != nil {
153151
return err
154152
}
155153

156-
if err := p2p.ServiceDiscoverer(context.Background(), node, token, p2p.NetworkID(r.Peer2PeerNetworkID, p2p.FederatedID), nil, false); err != nil {
154+
if err := p2p.ServiceDiscoverer(fedCtx, node, token, p2p.NetworkID(r.Peer2PeerNetworkID, p2p.FederatedID), nil, false); err != nil {
157155
return err
158156
}
159157
}

core/cli/worker/worker_p2p.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ func (r *P2P) Run(ctx *cliContext.Context) error {
6060
p = r.RunnerPort
6161
}
6262

63-
err = p2p.ExposeService(context.Background(), address, p, r.Token, p2p.NetworkID(r.Peer2PeerNetworkID, p2p.WorkerID))
63+
_, err = p2p.ExposeService(context.Background(), address, p, r.Token, p2p.NetworkID(r.Peer2PeerNetworkID, p2p.WorkerID))
6464
if err != nil {
6565
return err
6666
}
@@ -100,7 +100,7 @@ func (r *P2P) Run(ctx *cliContext.Context) error {
100100
}
101101
}()
102102

103-
err = p2p.ExposeService(context.Background(), address, fmt.Sprint(port), r.Token, p2p.NetworkID(r.Peer2PeerNetworkID, p2p.WorkerID))
103+
_, err = p2p.ExposeService(context.Background(), address, fmt.Sprint(port), r.Token, p2p.NetworkID(r.Peer2PeerNetworkID, p2p.WorkerID))
104104
if err != nil {
105105
return err
106106
}

core/p2p/federated_server.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,5 +99,4 @@ func (fs *FederatedServer) proxy(ctx context.Context, node *node.Node) error {
9999
}()
100100
}
101101
}
102-
103102
}

core/p2p/p2p.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -309,15 +309,15 @@ func ensureService(ctx context.Context, n *node.Node, nd *NodeData, sserv string
309309
}
310310

311311
// This is the P2P worker main
312-
func ExposeService(ctx context.Context, host, port, token, servicesID string) error {
312+
func ExposeService(ctx context.Context, host, port, token, servicesID string) (*node.Node, error) {
313313
if servicesID == "" {
314314
servicesID = defaultServicesID
315315
}
316316
llger := logger.New(log.LevelFatal)
317317

318318
nodeOpts, err := newNodeOpts(token)
319319
if err != nil {
320-
return err
320+
return nil, err
321321
}
322322
// generate a random string for the name
323323
name := utils.RandString(10)
@@ -327,17 +327,17 @@ func ExposeService(ctx context.Context, host, port, token, servicesID string) er
327327
services.RegisterService(llger, time.Duration(60)*time.Second, name, fmt.Sprintf("%s:%s", host, port))...)
328328
n, err := node.New(nodeOpts...)
329329
if err != nil {
330-
return fmt.Errorf("creating a new node: %w", err)
330+
return nil, fmt.Errorf("creating a new node: %w", err)
331331
}
332332

333333
err = n.Start(ctx)
334334
if err != nil {
335-
return fmt.Errorf("creating a new node: %w", err)
335+
return n, fmt.Errorf("creating a new node: %w", err)
336336
}
337337

338338
ledger, err := n.Ledger()
339339
if err != nil {
340-
return fmt.Errorf("creating a new node: %w", err)
340+
return n, fmt.Errorf("creating a new node: %w", err)
341341
}
342342

343343
ledger.Announce(
@@ -354,7 +354,7 @@ func ExposeService(ctx context.Context, host, port, token, servicesID string) er
354354
},
355355
)
356356

357-
return err
357+
return n, err
358358
}
359359

360360
func NewNode(token string) (*node.Node, error) {

core/p2p/p2p_disabled.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ func ServiceDiscoverer(ctx context.Context, node *node.Node, token, servicesID s
2222
return fmt.Errorf("not implemented")
2323
}
2424

25-
func ExposeService(ctx context.Context, host, port, token, servicesID string) error {
26-
return fmt.Errorf("not implemented")
25+
func ExposeService(ctx context.Context, host, port, token, servicesID string) (*node.Node, error) {
26+
return nil, fmt.Errorf("not implemented")
2727
}
2828

2929
func IsP2PEnabled() bool {

0 commit comments

Comments
 (0)