Skip to content

Commit 1c531f9

Browse files
marten-seemannvyzo
authored andcommitted
add a ResourceManager option
1 parent 78d7b84 commit 1c531f9

File tree

4 files changed

+33
-12
lines changed

4 files changed

+33
-12
lines changed

config/config.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,9 @@ func (cfg *Config) addTransports(h host.Host) error {
181181
if cfg.ConnectionGater != nil {
182182
opts = append(opts, tptu.WithConnectionGater(cfg.ConnectionGater))
183183
}
184+
if cfg.ResourceManager != nil {
185+
opts = append(opts, tptu.WithResourceManager(cfg.ResourceManager))
186+
}
184187
upgrader, err := tptu.New(secure, muxer, opts...)
185188
if err != nil {
186189
return err

go.mod

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,23 +21,23 @@ require (
2121
github.com/libp2p/go-libp2p-asn-util v0.1.0
2222
github.com/libp2p/go-libp2p-blankhost v0.3.0
2323
github.com/libp2p/go-libp2p-circuit v0.4.1-0.20220104134013-4072e3e3454a
24-
github.com/libp2p/go-libp2p-core v0.13.1-0.20220104095837-d2ff78890732
24+
github.com/libp2p/go-libp2p-core v0.13.1-0.20220107083545-005b84b557bb
2525
github.com/libp2p/go-libp2p-discovery v0.6.0
2626
github.com/libp2p/go-libp2p-mplex v0.4.1
2727
github.com/libp2p/go-libp2p-nat v0.1.0
2828
github.com/libp2p/go-libp2p-netutil v0.1.0
2929
github.com/libp2p/go-libp2p-noise v0.3.0
3030
github.com/libp2p/go-libp2p-peerstore v0.6.0
31-
github.com/libp2p/go-libp2p-quic-transport v0.15.1-0.20220104132014-daa8e64b8e6b
32-
github.com/libp2p/go-libp2p-swarm v0.9.1-0.20220104132952-1894fa82d9a9
33-
github.com/libp2p/go-libp2p-testing v0.6.0
31+
github.com/libp2p/go-libp2p-quic-transport v0.15.1-0.20220108115653-809bf14dd0e9
32+
github.com/libp2p/go-libp2p-swarm v0.9.1-0.20220108170512-66dcf0c4f16b
33+
github.com/libp2p/go-libp2p-testing v0.6.1-0.20220107070227-f126df46085e
3434
github.com/libp2p/go-libp2p-tls v0.3.1
35-
github.com/libp2p/go-libp2p-transport-upgrader v0.6.1-0.20220104100354-4827c9678afa
35+
github.com/libp2p/go-libp2p-transport-upgrader v0.6.1-0.20220108150807-be66941c1ea9
3636
github.com/libp2p/go-libp2p-yamux v0.7.0
3737
github.com/libp2p/go-msgio v0.1.0
3838
github.com/libp2p/go-netroute v0.1.6
3939
github.com/libp2p/go-stream-muxer-multistream v0.3.0
40-
github.com/libp2p/go-tcp-transport v0.4.1-0.20220104101054-4a0da59e8334
40+
github.com/libp2p/go-tcp-transport v0.4.1-0.20220108170023-5b0f844d771b
4141
github.com/libp2p/go-ws-transport v0.5.1-0.20220104130611-c4b67dc94623
4242
github.com/libp2p/zeroconf/v2 v2.1.1
4343
github.com/multiformats/go-multiaddr v0.5.0

go.sum

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -409,8 +409,10 @@ github.com/libp2p/go-libp2p-core v0.8.6/go.mod h1:dgHr0l0hIKfWpGpqAMbpo19pen9wJf
409409
github.com/libp2p/go-libp2p-core v0.10.0/go.mod h1:ECdxehoYosLYHgDDFa2N4yE8Y7aQRAMf0sX9mf2sbGg=
410410
github.com/libp2p/go-libp2p-core v0.11.0/go.mod h1:ECdxehoYosLYHgDDFa2N4yE8Y7aQRAMf0sX9mf2sbGg=
411411
github.com/libp2p/go-libp2p-core v0.12.0/go.mod h1:ECdxehoYosLYHgDDFa2N4yE8Y7aQRAMf0sX9mf2sbGg=
412-
github.com/libp2p/go-libp2p-core v0.13.1-0.20220104095837-d2ff78890732 h1:txE0rns6jKj4Zwx+I6k1dHLvZyA0nntk3WBZLajDeLQ=
413412
github.com/libp2p/go-libp2p-core v0.13.1-0.20220104095837-d2ff78890732/go.mod h1:KlkHsZ0nKerWsXLZJm3LfFQwusI5k3iN4BgtYTE4IYE=
413+
github.com/libp2p/go-libp2p-core v0.13.1-0.20220106080354-2192774acd82/go.mod h1:KlkHsZ0nKerWsXLZJm3LfFQwusI5k3iN4BgtYTE4IYE=
414+
github.com/libp2p/go-libp2p-core v0.13.1-0.20220107083545-005b84b557bb h1:mMWwfcMQgaUY7AN2WKd+L7k0XnTkmvx159KNvHPg2oo=
415+
github.com/libp2p/go-libp2p-core v0.13.1-0.20220107083545-005b84b557bb/go.mod h1:KlkHsZ0nKerWsXLZJm3LfFQwusI5k3iN4BgtYTE4IYE=
414416
github.com/libp2p/go-libp2p-discovery v0.6.0 h1:1XdPmhMJr8Tmj/yUfkJMIi8mgwWrLUsCB3bMxdT+DSo=
415417
github.com/libp2p/go-libp2p-discovery v0.6.0/go.mod h1:/u1voHt0tKIe5oIA1RHBKQLVCWPna2dXmPNHc2zR9S8=
416418
github.com/libp2p/go-libp2p-mplex v0.4.1 h1:/pyhkP1nLwjG3OM+VuaNJkQT/Pqq73WzB3aDN3Fx1sc=
@@ -427,24 +429,28 @@ github.com/libp2p/go-libp2p-peerstore v0.6.0/go.mod h1:DGEmKdXrcYpK9Jha3sS7MhqYd
427429
github.com/libp2p/go-libp2p-pnet v0.2.0 h1:J6htxttBipJujEjz1y0a5+eYoiPcFHhSYHH6na5f0/k=
428430
github.com/libp2p/go-libp2p-pnet v0.2.0/go.mod h1:Qqvq6JH/oMZGwqs3N1Fqhv8NVhrdYcO0BW4wssv21LA=
429431
github.com/libp2p/go-libp2p-quic-transport v0.13.0/go.mod h1:39/ZWJ1TW/jx1iFkKzzUg00W6tDJh73FC0xYudjr7Hc=
430-
github.com/libp2p/go-libp2p-quic-transport v0.15.1-0.20220104132014-daa8e64b8e6b h1:YDTpGPMmIFttI6JlAMsZPofKhrjPobZ0gNRsG+/y2wM=
431432
github.com/libp2p/go-libp2p-quic-transport v0.15.1-0.20220104132014-daa8e64b8e6b/go.mod h1:YWat3I4j6SdMbxQ0l5p5GhmFfTa+zF20HnASRSBdFdk=
433+
github.com/libp2p/go-libp2p-quic-transport v0.15.1-0.20220108115653-809bf14dd0e9 h1:vKncWRP2UbfShrpqEdF7a1pkKlU0mdqPFY0bo3q0LuQ=
434+
github.com/libp2p/go-libp2p-quic-transport v0.15.1-0.20220108115653-809bf14dd0e9/go.mod h1:QgXb66laBD2IR9Jz0nbiK22cd+ywp+6D5TlPS29mNFs=
432435
github.com/libp2p/go-libp2p-swarm v0.8.0/go.mod h1:sOMp6dPuqco0r0GHTzfVheVBh6UEL0L1lXUZ5ot2Fvc=
433-
github.com/libp2p/go-libp2p-swarm v0.9.1-0.20220104132952-1894fa82d9a9 h1:+CX3b102CXc6kXaZKO9MBYHhAafACuqxgvav1w9NyjY=
434436
github.com/libp2p/go-libp2p-swarm v0.9.1-0.20220104132952-1894fa82d9a9/go.mod h1:s3UxbgMKgF9Iw84vHI/6Bi2SqzTqakCrQ+BIVVFjYa0=
437+
github.com/libp2p/go-libp2p-swarm v0.9.1-0.20220108170512-66dcf0c4f16b h1:jlTbYdIQKFpubKSgPWVfv6cyK40nmj7GlPW9NXV4z9M=
438+
github.com/libp2p/go-libp2p-swarm v0.9.1-0.20220108170512-66dcf0c4f16b/go.mod h1:1zuT53Mm1GQc7DUKadVX3tJZAoOAClsUhw9gMGUiR98=
435439
github.com/libp2p/go-libp2p-testing v0.0.3/go.mod h1:gvchhf3FQOtBdr+eFUABet5a4MBLK8jM3V4Zghvmi+E=
436440
github.com/libp2p/go-libp2p-testing v0.1.1/go.mod h1:xaZWMJrPUM5GlDBxCeGUi7kI4eqnjVyavGroI2nxEM0=
437441
github.com/libp2p/go-libp2p-testing v0.1.2-0.20200422005655-8775583591d8/go.mod h1:Qy8sAncLKpwXtS2dSnDOP8ktexIAHKu+J+pnZOFZLTc=
438442
github.com/libp2p/go-libp2p-testing v0.4.0/go.mod h1:Q+PFXYoiYFN5CAEG2w3gLPEzotlKsNSbKQ/lImlOWF0=
439443
github.com/libp2p/go-libp2p-testing v0.5.0/go.mod h1:QBk8fqIL1XNcno/l3/hhaIEn4aLRijpYOR+zVjjlh+A=
440-
github.com/libp2p/go-libp2p-testing v0.6.0 h1:tV/wz6mS1VoAYA/5DGTiyzw9TJ+eXMCMvzU5VPLJSgg=
441444
github.com/libp2p/go-libp2p-testing v0.6.0/go.mod h1:QBk8fqIL1XNcno/l3/hhaIEn4aLRijpYOR+zVjjlh+A=
445+
github.com/libp2p/go-libp2p-testing v0.6.1-0.20220107070227-f126df46085e h1:gy++yXkcKv6pC6sgGPJRi0CkWPdgYFAx6zOWGxNiORg=
446+
github.com/libp2p/go-libp2p-testing v0.6.1-0.20220107070227-f126df46085e/go.mod h1:sKGFutxeBvU1FajPDMzOdNeRBTujG3IvX1Q1+xb5L38=
442447
github.com/libp2p/go-libp2p-tls v0.3.0/go.mod h1:fwF5X6PWGxm6IDRwF3V8AVCCj/hOd5oFlg+wo2FxJDY=
443448
github.com/libp2p/go-libp2p-tls v0.3.1 h1:lsE2zYte+rZCEOHF72J1Fg3XK3dGQyKvI6i5ehJfEp0=
444449
github.com/libp2p/go-libp2p-tls v0.3.1/go.mod h1:fwF5X6PWGxm6IDRwF3V8AVCCj/hOd5oFlg+wo2FxJDY=
445450
github.com/libp2p/go-libp2p-transport-upgrader v0.5.0/go.mod h1:Rc+XODlB3yce7dvFV4q/RmyJGsFcCZRkeZMu/Zdg0mo=
446-
github.com/libp2p/go-libp2p-transport-upgrader v0.6.1-0.20220104100354-4827c9678afa h1:ojcP3ncP87psnSbU0G8a6PZ1x4Cy7MSeabRpc6UeqAY=
447451
github.com/libp2p/go-libp2p-transport-upgrader v0.6.1-0.20220104100354-4827c9678afa/go.mod h1:svrK90F1diEptWeVfeo5T2URdWBQrqnzPEvBst9J6w8=
452+
github.com/libp2p/go-libp2p-transport-upgrader v0.6.1-0.20220108150807-be66941c1ea9 h1:+gpux0WFHEuQJBpCeBVUqYKBJSTGezSQ+2b7JidUMqw=
453+
github.com/libp2p/go-libp2p-transport-upgrader v0.6.1-0.20220108150807-be66941c1ea9/go.mod h1:FpQXSlueDNp9POKfwEnKqqgtI9mXy3ibpe7Z3ueBros=
448454
github.com/libp2p/go-libp2p-yamux v0.5.0/go.mod h1:AyR8k5EzyM2QN9Bbdg6X1SkVVuqLwTGf0L4DFq9g6po=
449455
github.com/libp2p/go-libp2p-yamux v0.7.0 h1:bVXHbTj/XH4uBBsPrg26BlDABk5WYRlssY73P0SjhPc=
450456
github.com/libp2p/go-libp2p-yamux v0.7.0/go.mod h1:fMyA0CsPfHkIuBU0wjRGrCjTBFiXTXxG0k5M4ETv+08=
@@ -477,8 +483,9 @@ github.com/libp2p/go-sockaddr v0.1.1/go.mod h1:syPvOmNs24S3dFVGJA1/mrqdeijPxLV2L
477483
github.com/libp2p/go-stream-muxer-multistream v0.3.0 h1:TqnSHPJEIqDEO7h1wZZ0p3DXdvDSiLHQidKKUGZtiOY=
478484
github.com/libp2p/go-stream-muxer-multistream v0.3.0/go.mod h1:yDh8abSIzmZtqtOt64gFJUXEryejzNb0lisTt+fAMJA=
479485
github.com/libp2p/go-tcp-transport v0.4.0/go.mod h1:0y52Rwrn4076xdJYu/51/qJIdxz+EWDAOG2S45sV3VI=
480-
github.com/libp2p/go-tcp-transport v0.4.1-0.20220104101054-4a0da59e8334 h1:Y6ZFS+fFw5zfLluTduRFZrvMEl67fF/kqnKvnyuOuRo=
481486
github.com/libp2p/go-tcp-transport v0.4.1-0.20220104101054-4a0da59e8334/go.mod h1:33zQX9ibHDVdD/vOTSBsJ2QHxLXmBiofT4wHx4LiFbo=
487+
github.com/libp2p/go-tcp-transport v0.4.1-0.20220108170023-5b0f844d771b h1:KWpzjWlTdMN8KlREoEgWbYLPPhouy7fMh5xXttgYk0M=
488+
github.com/libp2p/go-tcp-transport v0.4.1-0.20220108170023-5b0f844d771b/go.mod h1:Rhw3Zrx0b5eR9BZ1cHH7NP28PdcHbBwUcMRwJTGacrs=
482489
github.com/libp2p/go-ws-transport v0.5.1-0.20220104130611-c4b67dc94623 h1:sS14zJZwsBAL/wu1oZ63pN2IW0eXFB91HNMZbo1fcQ4=
483490
github.com/libp2p/go-ws-transport v0.5.1-0.20220104130611-c4b67dc94623/go.mod h1:JSfBBfQBM+I7998JGT/prmnovL8zvhlN86Hv1XW9kBM=
484491
github.com/libp2p/go-yamux v1.4.1 h1:P1Fe9vF4th5JOxxgQvfbOHkrGqIZniTLf+ddhZp8YTI=

options.go

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -346,6 +346,17 @@ func ConnectionGater(cg connmgr.ConnectionGater) Option {
346346
}
347347
}
348348

349+
// ResourceManager configures libp2p to use the given ResourceManager.
350+
func ResourceManager(rcmgr network.ResourceManager) Option {
351+
return func(cfg *Config) error {
352+
if cfg.ResourceManager != nil {
353+
return errors.New("cannot configure multiple resource managers")
354+
}
355+
cfg.ResourceManager = rcmgr
356+
return nil
357+
}
358+
}
359+
349360
// NATPortMap configures libp2p to use the default NATManager. The default
350361
// NATManager will attempt to open a port in your network's firewall using UPnP.
351362
func NATPortMap() Option {

0 commit comments

Comments
 (0)