From 2b38543fa0501e4dc77000329fbb0911f8ce184e Mon Sep 17 00:00:00 2001 From: Marten Seemann Date: Tue, 24 May 2022 14:46:13 +0200 Subject: [PATCH] update go-libp2p-core, remove stream methods from network.Notifiee --- go.mod | 4 +- go.sum | 20 ++++----- p2p/host/autonat/notify.go | 6 --- p2p/host/basic/natmgr.go | 6 +-- p2p/host/basic/peer_connectedness.go | 6 +-- p2p/host/blank/peer_connectedness.go | 6 +-- p2p/net/connmgr/connmgr.go | 6 --- p2p/net/mock/mock_conn.go | 19 ++------- p2p/net/mock/mock_notif_test.go | 25 ------------ p2p/net/mock/mock_stream.go | 5 +-- p2p/net/swarm/swarm_conn.go | 10 ----- p2p/net/swarm/swarm_notif_test.go | 59 --------------------------- p2p/net/swarm/swarm_stream.go | 19 ++------- p2p/protocol/holepunch/holepuncher.go | 8 ++-- p2p/protocol/identify/id.go | 6 +-- p2p/protocol/identify/obsaddr.go | 2 - 16 files changed, 29 insertions(+), 178 deletions(-) diff --git a/go.mod b/go.mod index caf238e24c..bdab1dedb3 100644 --- a/go.mod +++ b/go.mod @@ -21,7 +21,7 @@ require ( github.com/libp2p/go-eventbus v0.2.1 github.com/libp2p/go-libp2p-asn-util v0.1.0 github.com/libp2p/go-libp2p-circuit v0.6.0 - github.com/libp2p/go-libp2p-core v0.15.1 + github.com/libp2p/go-libp2p-core v0.16.0 github.com/libp2p/go-libp2p-peerstore v0.6.0 github.com/libp2p/go-libp2p-resource-manager v0.2.1 github.com/libp2p/go-libp2p-testing v0.9.2 @@ -56,12 +56,14 @@ require ( require ( github.com/beorn7/perks v1.0.1 // indirect github.com/btcsuite/btcd v0.22.0-beta // indirect + github.com/btcsuite/btcd/btcec/v2 v2.1.3 // indirect github.com/cespare/xxhash/v2 v2.1.2 // indirect github.com/cheekybits/genny v1.0.0 // indirect github.com/containerd/cgroups v1.0.3 // indirect github.com/coreos/go-semver v0.3.0 // indirect github.com/coreos/go-systemd/v22 v22.3.2 // indirect github.com/davecgh/go-spew v1.1.1 // indirect + github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.1 // indirect github.com/docker/go-units v0.4.0 // indirect github.com/elastic/gosigar v0.14.2 // indirect github.com/francoispqt/gojay v1.2.13 // indirect diff --git a/go.sum b/go.sum index aba0d03037..3a5e736733 100644 --- a/go.sum +++ b/go.sum @@ -78,6 +78,8 @@ github.com/btcsuite/btcd v0.0.0-20190523000118-16327141da8c/go.mod h1:3J08xEfcug github.com/btcsuite/btcd v0.20.1-beta/go.mod h1:wVuoA8VJLEcwgqHBwHmzLRazpKxTv13Px/pDuV7OomQ= github.com/btcsuite/btcd v0.22.0-beta h1:LTDpDKUM5EeOFBPM8IXpinEcmZ6FWfNZbE3lfrfdnWo= github.com/btcsuite/btcd v0.22.0-beta/go.mod h1:9n5ntfhhHQBIhUvlhDvD3Qg6fRUj4jkN0VB8L8svzOA= +github.com/btcsuite/btcd/btcec/v2 v2.1.3 h1:xM/n3yIhHAhHy04z4i43C8p4ehixJZMsnrVJkgl+MTE= +github.com/btcsuite/btcd/btcec/v2 v2.1.3/go.mod h1:ctjw4H1kknNJmRN4iP1R7bTQ+v3GJkZBd6mui8ZsAZE= github.com/btcsuite/btclog v0.0.0-20170628155309-84c8d2346e9f/go.mod h1:TdznJufoqS23FtqVCzL0ZqgP5MqXbb4fg/WgDys70nA= github.com/btcsuite/btcutil v0.0.0-20190425235716-9e5f4b9a998d/go.mod h1:+5NJ2+qvTyV9exUAL/rxXi3DcLg2Ts+ymUAY5y4NvMg= github.com/btcsuite/btcutil v1.0.3-0.20201208143702-a53e38424cce/go.mod h1:0DVlHczLPewLcPGEIeUEzfOJhqGPQ0mJJRDBtD307+o= @@ -92,7 +94,6 @@ github.com/buger/jsonparser v0.0.0-20181115193947-bf1c66bbce23/go.mod h1:bbYlZJ7 github.com/casbin/casbin/v2 v2.1.2/go.mod h1:YcPU1XXisHhLzuxH9coDNf2FbKpjGlbCg3n9yuLkIJQ= github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cespare/xxhash/v2 v2.1.2 h1:YRXhKfTDauu4ajMg1TPgFO5jnlC2HCbmLXMcTG5cbYE= @@ -123,7 +124,6 @@ github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3Ee github.com/coreos/go-semver v0.3.0 h1:wkHLiw0WNATZnSG7epLsujiMCgPAc9xhjJ4tgnAxmfM= github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= -github.com/coreos/go-systemd v0.0.0-20181012123002-c6f51f82210d h1:t5Wuyh53qYyg9eqn4BbnlIT+vmhyww0TatL+zT3uWgI= github.com/coreos/go-systemd v0.0.0-20181012123002-c6f51f82210d/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/coreos/go-systemd/v22 v22.1.0/go.mod h1:xO0FLkIi5MaZafQlIrOotqXZ90ih+1atmu1JpKERPPk= github.com/coreos/go-systemd/v22 v22.3.2 h1:D9/bQk5vlXQFZ6Kwuu6zaiXJ9oTPe68++AzAJc1DzSI= @@ -140,6 +140,10 @@ github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSs github.com/davidlazar/go-crypto v0.0.0-20170701192655-dcfb0a7ac018/go.mod h1:rQYf4tfk5sSwFsnDg3qYaBxSjsD9S8+59vW0dKUgme4= github.com/davidlazar/go-crypto v0.0.0-20200604182044-b73af7476f6c h1:pFUpOrbxDR6AkioZ1ySsx5yxlDQZ8stG2b88gTPxgJU= github.com/davidlazar/go-crypto v0.0.0-20200604182044-b73af7476f6c/go.mod h1:6UhI8N9EjYm1c2odKpFpAYeR8dsBeM7PtzQhRgxRr9U= +github.com/decred/dcrd/crypto/blake256 v1.0.0 h1:/8DMNYp9SGi5f0w7uCm6d6M4OU2rGFK09Y2A4Xv7EE0= +github.com/decred/dcrd/crypto/blake256 v1.0.0/go.mod h1:sQl2p6Y26YV+ZOcSTP6thNdn47hh8kt6rqSlvmrXFAc= +github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.1 h1:YLtO71vCjJRCBcrPMtQ9nqBsqpA1m5sE92cU+pd5Mcc= +github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.1/go.mod h1:hyedUtir6IdtD/7lIxGeCxkaw7y45JueMRL4DIyJDKs= github.com/decred/dcrd/lru v1.0.0/go.mod h1:mxKOwFd7lFjN2GZYsiz/ecgqR6kkYAl+0pz0tEMk218= github.com/dgraph-io/badger v1.6.2/go.mod h1:JW2yswe3V058sS0kZ2h/AXeDSqFjxnZcRrVH//y2UQE= github.com/dgraph-io/ristretto v0.0.2/go.mod h1:KPxhHT9ZxKefz+PCeOGsrHpl1qZ7i70dGTu2u+Ahh6E= @@ -342,7 +346,6 @@ github.com/ipfs/go-ipfs-util v0.0.2 h1:59Sswnk1MFaiq+VcaknX7aYEyGyGDAA73ilhEK2PO github.com/ipfs/go-ipfs-util v0.0.2/go.mod h1:CbPtkWJzjLdEcezDns2XYaehFVNXG9zrdrtMecczcsQ= github.com/ipfs/go-log v0.0.1/go.mod h1:kL1d2/hzSpI0thNYjiKfjanbVNU+IIGA/WnNESY9leM= github.com/ipfs/go-log v1.0.4/go.mod h1:oDCg2FkjogeFOhqqb+N39l2RpTNPL6F/StPkB3kPgcs= -github.com/ipfs/go-log v1.0.5 h1:2dOuUCB1Z7uoczMWgAyDck5JLb72zHzrMnGnCNNbvY8= github.com/ipfs/go-log v1.0.5/go.mod h1:j0b8ZoR+7+R99LD9jZ6+AJsrzkPbSXbZfGakb5JPtIo= github.com/ipfs/go-log/v2 v2.0.5/go.mod h1:eZs4Xt4ZUJQFM3DlanGhy7TkwwawCZcSByscwkWG+dw= github.com/ipfs/go-log/v2 v2.1.1/go.mod h1:2v2nsGfZsvvAJz13SyFzf9ObaqwHiHxsPLEHntrv9KM= @@ -437,8 +440,8 @@ github.com/libp2p/go-libp2p-core v0.10.0/go.mod h1:ECdxehoYosLYHgDDFa2N4yE8Y7aQR github.com/libp2p/go-libp2p-core v0.11.0/go.mod h1:ECdxehoYosLYHgDDFa2N4yE8Y7aQRAMf0sX9mf2sbGg= github.com/libp2p/go-libp2p-core v0.12.0/go.mod h1:ECdxehoYosLYHgDDFa2N4yE8Y7aQRAMf0sX9mf2sbGg= github.com/libp2p/go-libp2p-core v0.14.0/go.mod h1:tLasfcVdTXnixsLB0QYaT1syJOhsbrhG7q6pGrHtBg8= -github.com/libp2p/go-libp2p-core v0.15.1 h1:0RY+Mi/ARK9DgG1g9xVQLb8dDaaU8tCePMtGALEfBnM= -github.com/libp2p/go-libp2p-core v0.15.1/go.mod h1:agSaboYM4hzB1cWekgVReqV5M4g5M+2eNNejV+1EEhs= +github.com/libp2p/go-libp2p-core v0.16.0 h1:lUsuTSQK7aQ/erhhtR9soMpwakFnxfxz466Ykhy32rM= +github.com/libp2p/go-libp2p-core v0.16.0/go.mod h1:TDHWT8uKIV2hf+bQgy8qWRvcJm4PCWg9a7pR24VLFnM= github.com/libp2p/go-libp2p-mplex v0.4.1/go.mod h1:cmy+3GfqfM1PceHTLL7zQzAAYaryDu6iPSC+CIb094g= github.com/libp2p/go-libp2p-mplex v0.5.0/go.mod h1:eLImPJLkj3iG5t5lq68w3Vm5NAQ5BcKwrrb2VmOYb3M= github.com/libp2p/go-libp2p-peerstore v0.4.0/go.mod h1:rDJUFyzEWPpXpEwywkcTYYzDHlwza8riYMaUzaN6hX0= @@ -461,7 +464,6 @@ github.com/libp2p/go-libp2p-testing v0.1.2-0.20200422005655-8775583591d8/go.mod github.com/libp2p/go-libp2p-testing v0.4.0/go.mod h1:Q+PFXYoiYFN5CAEG2w3gLPEzotlKsNSbKQ/lImlOWF0= github.com/libp2p/go-libp2p-testing v0.5.0/go.mod h1:QBk8fqIL1XNcno/l3/hhaIEn4aLRijpYOR+zVjjlh+A= github.com/libp2p/go-libp2p-testing v0.7.0/go.mod h1:OLbdn9DbgdMwv00v+tlp1l3oe2Cl+FAjoWIA2pa0X6E= -github.com/libp2p/go-libp2p-testing v0.9.0/go.mod h1:Td7kbdkWqYTJYQGTwzlgXwaqldraIanyjuRiAbK/XQU= github.com/libp2p/go-libp2p-testing v0.9.2 h1:dCpODRtRaDZKF8HXT9qqqgON+OMEB423Knrgeod8j84= github.com/libp2p/go-libp2p-testing v0.9.2/go.mod h1:Td7kbdkWqYTJYQGTwzlgXwaqldraIanyjuRiAbK/XQU= github.com/libp2p/go-libp2p-tls v0.3.0/go.mod h1:fwF5X6PWGxm6IDRwF3V8AVCCj/hOd5oFlg+wo2FxJDY= @@ -509,7 +511,6 @@ github.com/libp2p/go-tcp-transport v0.4.0/go.mod h1:0y52Rwrn4076xdJYu/51/qJIdxz+ github.com/libp2p/go-tcp-transport v0.5.0/go.mod h1:UPPL0DIjQqiWRwVAb+CEQlaAG0rp/mCqJfIhFcLHc4Y= github.com/libp2p/go-tcp-transport v0.5.1 h1:edOOs688VLZAozWC7Kj5/6HHXKNwi9M6wgRmmLa8M6Q= github.com/libp2p/go-tcp-transport v0.5.1/go.mod h1:UPPL0DIjQqiWRwVAb+CEQlaAG0rp/mCqJfIhFcLHc4Y= -github.com/libp2p/go-yamux v1.4.1 h1:P1Fe9vF4th5JOxxgQvfbOHkrGqIZniTLf+ddhZp8YTI= github.com/libp2p/go-yamux v1.4.1/go.mod h1:fr7aVgmdNGJK+N1g+b6DW6VxzbRCjCOejR/hkmpooHE= github.com/libp2p/go-yamux/v3 v3.0.1/go.mod h1:s2LsDhHbh+RfCsQoICSYt58U2f8ijtPANFD8BmE74Bo= github.com/libp2p/go-yamux/v3 v3.0.2/go.mod h1:s2LsDhHbh+RfCsQoICSYt58U2f8ijtPANFD8BmE74Bo= @@ -836,7 +837,6 @@ github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= -github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg= go.opencensus.io v0.18.0/go.mod h1:vKdFvxhtzZ9onBp9VKHK8z/sRpBMnKAsufL7wlDrCOA= @@ -899,7 +899,6 @@ golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPh golang.org/x/crypto v0.0.0-20210220033148-5ea612d1eb83/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20210506145944-38f3c27a63bf/go.mod h1:P+XmwS30IXTQdn5tA2iutPOUgjI07+tq3H3K9MVA1s8= -golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20220411220226-7b82a4e95df4 h1:kUhD7nTDoI3fVd9G4ORWrbV5NY0liEs/Jg2pv5f+bBA= golang.org/x/crypto v0.0.0-20220411220226-7b82a4e95df4/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= @@ -987,8 +986,6 @@ golang.org/x/net v0.0.0-20210423184538-5f58ad60dda6/go.mod h1:OJAsFXCWl8Ukc7SiCT golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210726213435-c6fcb2dbf985/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220418201149-a630d4f3e7a2 h1:6mzvA99KwZxbOrxww4EvWVQUnN1+xEu9tafK5ZxkYeA= @@ -1088,7 +1085,6 @@ golang.org/x/sys v0.0.0-20210511113859-b0526f3d8744/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220412211240-33da011f77ad h1:ntjMns5wyP/fN65tdBD4g8J5w8n015+iIIs9rtjXkY0= diff --git a/p2p/host/autonat/notify.go b/p2p/host/autonat/notify.go index c5811f160e..fb8e980afb 100644 --- a/p2p/host/autonat/notify.go +++ b/p2p/host/autonat/notify.go @@ -15,12 +15,6 @@ func (as *AmbientAutoNAT) Listen(net network.Network, a ma.Multiaddr) {} // ListenClose is part of the network.Notifiee interface func (as *AmbientAutoNAT) ListenClose(net network.Network, a ma.Multiaddr) {} -// OpenedStream is part of the network.Notifiee interface -func (as *AmbientAutoNAT) OpenedStream(net network.Network, s network.Stream) {} - -// ClosedStream is part of the network.Notifiee interface -func (as *AmbientAutoNAT) ClosedStream(net network.Network, s network.Stream) {} - // Connected is part of the network.Notifiee interface func (as *AmbientAutoNAT) Connected(net network.Network, c network.Conn) { if c.Stat().Direction == network.DirInbound && diff --git a/p2p/host/basic/natmgr.go b/p2p/host/basic/natmgr.go index af1de0ec67..dc6b156552 100644 --- a/p2p/host/basic/natmgr.go +++ b/p2p/host/basic/natmgr.go @@ -228,7 +228,5 @@ func (nn *nmgrNetNotifiee) ListenClose(n network.Network, addr ma.Multiaddr) { nn.natManager().sync() } -func (nn *nmgrNetNotifiee) Connected(network.Network, network.Conn) {} -func (nn *nmgrNetNotifiee) Disconnected(network.Network, network.Conn) {} -func (nn *nmgrNetNotifiee) OpenedStream(network.Network, network.Stream) {} -func (nn *nmgrNetNotifiee) ClosedStream(network.Network, network.Stream) {} +func (nn *nmgrNetNotifiee) Connected(network.Network, network.Conn) {} +func (nn *nmgrNetNotifiee) Disconnected(network.Network, network.Conn) {} diff --git a/p2p/host/basic/peer_connectedness.go b/p2p/host/basic/peer_connectedness.go index a0ba17c3da..5460498cc0 100644 --- a/p2p/host/basic/peer_connectedness.go +++ b/p2p/host/basic/peer_connectedness.go @@ -26,10 +26,8 @@ func newPeerConnectWatcher(emitter event.Emitter) *peerConnectWatcher { } } -func (w *peerConnectWatcher) Listen(network.Network, ma.Multiaddr) {} -func (w *peerConnectWatcher) ListenClose(network.Network, ma.Multiaddr) {} -func (w *peerConnectWatcher) OpenedStream(network.Network, network.Stream) {} -func (w *peerConnectWatcher) ClosedStream(network.Network, network.Stream) {} +func (w *peerConnectWatcher) Listen(network.Network, ma.Multiaddr) {} +func (w *peerConnectWatcher) ListenClose(network.Network, ma.Multiaddr) {} func (w *peerConnectWatcher) Connected(n network.Network, conn network.Conn) { p := conn.RemotePeer() diff --git a/p2p/host/blank/peer_connectedness.go b/p2p/host/blank/peer_connectedness.go index 8a0f98c6be..670edc545f 100644 --- a/p2p/host/blank/peer_connectedness.go +++ b/p2p/host/blank/peer_connectedness.go @@ -26,10 +26,8 @@ func newPeerConnectWatcher(emitter event.Emitter) *peerConnectWatcher { } } -func (w *peerConnectWatcher) Listen(network.Network, ma.Multiaddr) {} -func (w *peerConnectWatcher) ListenClose(network.Network, ma.Multiaddr) {} -func (w *peerConnectWatcher) OpenedStream(network.Network, network.Stream) {} -func (w *peerConnectWatcher) ClosedStream(network.Network, network.Stream) {} +func (w *peerConnectWatcher) Listen(network.Network, ma.Multiaddr) {} +func (w *peerConnectWatcher) ListenClose(network.Network, ma.Multiaddr) {} func (w *peerConnectWatcher) Connected(n network.Network, conn network.Conn) { p := conn.RemotePeer() diff --git a/p2p/net/connmgr/connmgr.go b/p2p/net/connmgr/connmgr.go index 9ee587015c..b73e3a71d5 100644 --- a/p2p/net/connmgr/connmgr.go +++ b/p2p/net/connmgr/connmgr.go @@ -686,9 +686,3 @@ func (nn *cmNotifee) Listen(n network.Network, addr ma.Multiaddr) {} // ListenClose is no-op in this implementation. func (nn *cmNotifee) ListenClose(n network.Network, addr ma.Multiaddr) {} - -// OpenedStream is no-op in this implementation. -func (nn *cmNotifee) OpenedStream(network.Network, network.Stream) {} - -// ClosedStream is no-op in this implementation. -func (nn *cmNotifee) ClosedStream(network.Network, network.Stream) {} diff --git a/p2p/net/mock/mock_conn.go b/p2p/net/mock/mock_conn.go index bbfde35c6b..dae0867d57 100644 --- a/p2p/net/mock/mock_conn.go +++ b/p2p/net/mock/mock_conn.go @@ -97,33 +97,20 @@ func (c *conn) teardown() error { func (c *conn) addStream(s *stream) { c.Lock() + defer c.Unlock() s.conn = c c.streams.PushBack(s) - s.notifLk.Lock() - defer s.notifLk.Unlock() - c.Unlock() - c.net.notifyAll(func(n network.Notifiee) { - n.OpenedStream(c.net, s) - }) } func (c *conn) removeStream(s *stream) { c.Lock() + defer c.Unlock() for e := c.streams.Front(); e != nil; e = e.Next() { if s == e.Value { c.streams.Remove(e) - break + return } } - c.Unlock() - - go func() { - s.notifLk.Lock() - defer s.notifLk.Unlock() - s.conn.net.notifyAll(func(n network.Notifiee) { - n.ClosedStream(s.conn.net, s) - }) - }() } func (c *conn) allStreams() []network.Stream { diff --git a/p2p/net/mock/mock_notif_test.go b/p2p/net/mock/mock_notif_test.go index c43a78824f..7b038f534f 100644 --- a/p2p/net/mock/mock_notif_test.go +++ b/p2p/net/mock/mock_notif_test.go @@ -203,28 +203,3 @@ func (nn *netNotifiee) Connected(n network.Network, v network.Conn) { func (nn *netNotifiee) Disconnected(n network.Network, v network.Conn) { nn.disconnected <- v } -func (nn *netNotifiee) OpenedStream(n network.Network, s network.Stream) { - nn.streamState.Lock() - defer nn.streamState.Unlock() - _, ok := nn.streamState.m[s] - if ok { - nn.t.Error("duplicate stream open") - return - } - nn.streamState.m[s] = make(chan struct{}) -} -func (nn *netNotifiee) ClosedStream(n network.Network, s network.Stream) { - nn.streamState.Lock() - defer nn.streamState.Unlock() - ch, ok := nn.streamState.m[s] - if !ok { - nn.t.Error("saw close event but no open event") - return - } - select { - case <-ch: - nn.t.Error("duplicate close event") - default: - close(ch) - } -} diff --git a/p2p/net/mock/mock_stream.go b/p2p/net/mock/mock_stream.go index 6b68e4f1cf..852d155943 100644 --- a/p2p/net/mock/mock_stream.go +++ b/p2p/net/mock/mock_stream.go @@ -6,7 +6,6 @@ import ( "io" "net" "strconv" - "sync" "sync/atomic" "time" @@ -18,8 +17,6 @@ var streamCounter int64 // stream implements network.Stream type stream struct { - notifLk sync.Mutex - rstream *stream conn *conn id int64 @@ -38,7 +35,7 @@ type stream struct { stat network.Stats } -var ErrClosed error = errors.New("stream closed") +var ErrClosed = errors.New("stream closed") type transportObject struct { msg []byte diff --git a/p2p/net/swarm/swarm_conn.go b/p2p/net/swarm/swarm_conn.go index 77b2defb52..64fb2ed5df 100644 --- a/p2p/net/swarm/swarm_conn.go +++ b/p2p/net/swarm/swarm_conn.go @@ -233,17 +233,7 @@ func (c *Conn) addStream(ts network.MuxedStream, dir network.Direction, scope ne // firing (in Swarm.remove). c.swarm.refs.Add(1) - // Take the notification lock before releasing the streams lock to block - // StreamClose notifications until after the StreamOpen notifications - // done. - s.notifyLk.Lock() c.streams.Unlock() - - c.swarm.notifyAll(func(f network.Notifiee) { - f.OpenedStream(c.swarm, s) - }) - s.notifyLk.Unlock() - return s, nil } diff --git a/p2p/net/swarm/swarm_notif_test.go b/p2p/net/swarm/swarm_notif_test.go index 8b1011bee7..ba4609d2fb 100644 --- a/p2p/net/swarm/swarm_notif_test.go +++ b/p2p/net/swarm/swarm_notif_test.go @@ -107,55 +107,6 @@ func TestNotifications(t *testing.T) { return nil, nil, nil } - testOCStream := func(n *netNotifiee, s network.Stream) { - var s2 network.Stream - select { - case s2 = <-n.openedStream: - t.Log("got notif for opened stream") - case <-time.After(timeout): - t.Fatal("timeout") - } - if s != s2 { - t.Fatal("got incorrect stream", s.Conn(), s2.Conn()) - } - - select { - case s2 = <-n.closedStream: - t.Log("got notif for closed stream") - case <-time.After(timeout): - t.Fatal("timeout") - } - if s != s2 { - t.Fatal("got incorrect stream", s.Conn(), s2.Conn()) - } - } - - streams := make(chan network.Stream) - for _, s := range swarms { - s.SetStreamHandler(func(s network.Stream) { - streams <- s - s.Reset() - }) - } - - // open a streams in each conn - for i, s := range swarms { - for _, c := range s.Conns() { - _, n2, _ := complement(c) - - st1, err := c.NewStream(context.Background()) - if err != nil { - t.Error(err) - } else { - st1.Write([]byte("hello")) - st1.Reset() - testOCStream(notifiees[i], st1) - st2 := <-streams - testOCStream(n2, st2) - } - } - } - // close conns for i, s := range swarms { n := notifiees[i] @@ -191,8 +142,6 @@ type netNotifiee struct { listenClose chan ma.Multiaddr connected chan network.Conn disconnected chan network.Conn - openedStream chan network.Stream - closedStream chan network.Stream } func newNetNotifiee(buffer int) *netNotifiee { @@ -201,8 +150,6 @@ func newNetNotifiee(buffer int) *netNotifiee { listenClose: make(chan ma.Multiaddr, buffer), connected: make(chan network.Conn, buffer), disconnected: make(chan network.Conn, buffer), - openedStream: make(chan network.Stream, buffer), - closedStream: make(chan network.Stream, buffer), } } @@ -218,9 +165,3 @@ func (nn *netNotifiee) Connected(n network.Network, v network.Conn) { func (nn *netNotifiee) Disconnected(n network.Network, v network.Conn) { nn.disconnected <- v } -func (nn *netNotifiee) OpenedStream(n network.Network, v network.Stream) { - nn.openedStream <- v -} -func (nn *netNotifiee) ClosedStream(n network.Network, v network.Stream) { - nn.closedStream <- v -} diff --git a/p2p/net/swarm/swarm_stream.go b/p2p/net/swarm/swarm_stream.go index 5e5c965335..109cce5800 100644 --- a/p2p/net/swarm/swarm_stream.go +++ b/p2p/net/swarm/swarm_stream.go @@ -24,8 +24,6 @@ type Stream struct { closeOnce sync.Once - notifyLk sync.Mutex - protocol atomic.Value stat network.Stats @@ -90,14 +88,14 @@ func (s *Stream) Reset() error { return err } -// Close closes the stream for writing, flushing all data and sending an EOF. +// CloseWrite closes the stream for writing, flushing all data and sending an EOF. // This function does not free resources, call Close or Reset when done with the // stream. func (s *Stream) CloseWrite() error { return s.stream.CloseWrite() } -// Close closes the stream for reading. This function does not free resources, +// CloseRead closes the stream for reading. This function does not free resources, // call Close or Reset when done with the stream. func (s *Stream) CloseRead() error { return s.stream.CloseRead() @@ -105,18 +103,7 @@ func (s *Stream) CloseRead() error { func (s *Stream) remove() { s.conn.removeStream(s) - - // We *must* do this in a goroutine. This can be called during a - // an open notification and will block until that notification is done. - go func() { - s.notifyLk.Lock() - defer s.notifyLk.Unlock() - - s.conn.swarm.notifyAll(func(f network.Notifiee) { - f.ClosedStream(s.conn.swarm, s) - }) - s.conn.swarm.refs.Done() - }() + s.conn.swarm.refs.Done() } // Protocol returns the protocol negotiated on this stream (if set). diff --git a/p2p/protocol/holepunch/holepuncher.go b/p2p/protocol/holepunch/holepuncher.go index 922e76a9ca..810608f204 100644 --- a/p2p/protocol/holepunch/holepuncher.go +++ b/p2p/protocol/holepunch/holepuncher.go @@ -268,8 +268,6 @@ func (nn *netNotifiee) Connected(_ network.Network, conn network.Conn) { } } -func (nn *netNotifiee) Disconnected(_ network.Network, v network.Conn) {} -func (nn *netNotifiee) OpenedStream(n network.Network, v network.Stream) {} -func (nn *netNotifiee) ClosedStream(n network.Network, v network.Stream) {} -func (nn *netNotifiee) Listen(n network.Network, a ma.Multiaddr) {} -func (nn *netNotifiee) ListenClose(n network.Network, a ma.Multiaddr) {} +func (nn *netNotifiee) Disconnected(_ network.Network, v network.Conn) {} +func (nn *netNotifiee) Listen(n network.Network, a ma.Multiaddr) {} +func (nn *netNotifiee) ListenClose(n network.Network, a ma.Multiaddr) {} diff --git a/p2p/protocol/identify/id.go b/p2p/protocol/identify/id.go index 15e778e4ad..072cc81aa2 100644 --- a/p2p/protocol/identify/id.go +++ b/p2p/protocol/identify/id.go @@ -814,7 +814,5 @@ func (nn *netNotifiee) Disconnected(n network.Network, v network.Conn) { } } -func (nn *netNotifiee) OpenedStream(n network.Network, v network.Stream) {} -func (nn *netNotifiee) ClosedStream(n network.Network, v network.Stream) {} -func (nn *netNotifiee) Listen(n network.Network, a ma.Multiaddr) {} -func (nn *netNotifiee) ListenClose(n network.Network, a ma.Multiaddr) {} +func (nn *netNotifiee) Listen(n network.Network, a ma.Multiaddr) {} +func (nn *netNotifiee) ListenClose(n network.Network, a ma.Multiaddr) {} diff --git a/p2p/protocol/identify/obsaddr.go b/p2p/protocol/identify/obsaddr.go index c01ff61b80..8562f65251 100644 --- a/p2p/protocol/identify/obsaddr.go +++ b/p2p/protocol/identify/obsaddr.go @@ -588,5 +588,3 @@ func (on *obsAddrNotifiee) Connected(n network.Network, v network.Conn) {} func (on *obsAddrNotifiee) Disconnected(n network.Network, v network.Conn) { (*ObservedAddrManager)(on).removeConn(v) } -func (on *obsAddrNotifiee) OpenedStream(n network.Network, s network.Stream) {} -func (on *obsAddrNotifiee) ClosedStream(n network.Network, s network.Stream) {}