Skip to content

Commit 811669a

Browse files
Merge pull request #1012 from libp2p/fix/onRequestHook
fix: don't copy message to OnRequestHook
2 parents 08ec10d + 44e76f5 commit 811669a

File tree

4 files changed

+8
-7
lines changed

4 files changed

+8
-7
lines changed

dht.go

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,10 @@ import (
4040
"go.uber.org/zap"
4141
)
4242

43-
const tracer = tracing.Tracer("go-libp2p-kad-dht")
44-
const dhtName = "IpfsDHT"
43+
const (
44+
tracer = tracing.Tracer("go-libp2p-kad-dht")
45+
dhtName = "IpfsDHT"
46+
)
4547

4648
var (
4749
logger = logging.Logger("dht")
@@ -164,7 +166,7 @@ type IpfsDHT struct {
164166
// Mostly used to filter out localhost and local addresses.
165167
addrFilter func([]ma.Multiaddr) []ma.Multiaddr
166168

167-
onRequestHook func(ctx context.Context, s network.Stream, req pb.Message)
169+
onRequestHook func(ctx context.Context, s network.Stream, req *pb.Message)
168170
}
169171

170172
// Assert that IPFS assumptions about interfaces aren't broken. These aren't a
@@ -420,7 +422,6 @@ func makeRoutingTable(dht *IpfsDHT, cfg dhtcfg.Config, maxLastSuccessfulOutbound
420422
df, err := peerdiversity.NewFilter(dht.rtPeerDiversityFilter, "rt/diversity", func(p peer.ID) int {
421423
return kb.CommonPrefixLen(dht.selfKey, kb.ConvertPeerID(p))
422424
})
423-
424425
if err != nil {
425426
return nil, fmt.Errorf("failed to construct peer diversity filter: %w", err)
426427
}

dht_net.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ func (dht *IpfsDHT) handleNewMessage(s network.Stream) bool {
101101
)
102102

103103
if dht.onRequestHook != nil {
104-
dht.onRequestHook(ctx, s, req)
104+
dht.onRequestHook(ctx, s, &req)
105105
}
106106

107107
handler := dht.handlerForMsgType(req.GetType())

dht_options.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -375,7 +375,7 @@ func WithCustomMessageSender(messageSenderBuilder func(h host.Host, protos []pro
375375
// incoming DHT protocol message.
376376
// Note: Ensure that the callback executes efficiently, as it will block the
377377
// entire message handler.
378-
func OnRequestHook(f func(ctx context.Context, s network.Stream, req pb.Message)) Option {
378+
func OnRequestHook(f func(ctx context.Context, s network.Stream, req *pb.Message)) Option {
379379
return func(c *dhtcfg.Config) error {
380380
c.OnRequestHook = f
381381
return nil

internal/config/config.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ type Config struct {
6565

6666
BootstrapPeers func() []peer.AddrInfo
6767
AddressFilter func([]ma.Multiaddr) []ma.Multiaddr
68-
OnRequestHook func(ctx context.Context, s network.Stream, req pb.Message)
68+
OnRequestHook func(ctx context.Context, s network.Stream, req *pb.Message)
6969

7070
// test specific Config options
7171
DisableFixLowPeers bool

0 commit comments

Comments
 (0)