Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
P
plugin
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
JIRA
JIRA
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
link33
plugin
Commits
8a273471
Commit
8a273471
authored
Aug 19, 2021
by
libangzhu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update
parent
fae196d4
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
28 additions
and
14 deletions
+28
-14
go.mod
go.mod
+3
-0
go.sum
go.sum
+6
-0
common.go
plugin/p2p/gossip/common.go
+5
-5
monitor.go
plugin/p2p/gossip/monitor.go
+1
-1
node.go
plugin/p2p/gossip/node.go
+3
-3
p2p.go
plugin/p2p/gossip/p2p.go
+10
-1
process.go
plugin/p2p/gossip/process.go
+0
-4
No files found.
go.mod
View file @
8a273471
...
...
@@ -15,6 +15,7 @@ require (
github.com/btcsuite/btcd v0.21.0-beta
github.com/coreos/etcd v3.3.15+incompatible
github.com/coreos/go-systemd v0.0.0-20190719114852-fd7a80b32e1f // indirect
github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f // indirect
github.com/davecgh/go-spew v1.1.1
github.com/ethereum/go-ethereum v1.10.0
github.com/golang-collections/collections v0.0.0-20130729185459-604e922904d3
...
...
@@ -24,6 +25,7 @@ require (
github.com/holiman/uint256 v1.1.1
github.com/huin/goupnp v1.0.1-0.20200620063722-49508fba0031
github.com/jackpal/go-nat-pmp v1.0.2
github.com/miguelmota/go-solidity-sha3 v0.1.0
github.com/mr-tron/base58 v1.2.0
github.com/pborman/uuid v1.2.0
github.com/perlin-network/life v0.0.0-20191203030451-05c0e0f7eaea
...
...
@@ -37,6 +39,7 @@ require (
github.com/stretchr/testify v1.7.0
github.com/tjfoc/gmsm v1.3.2
github.com/valyala/fasthttp v1.5.0
github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2 // indirect
golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2
golang.org/x/net v0.0.0-20210423184538-5f58ad60dda6
golang.org/x/sys v0.0.0-20210426080607-c94f62235c83
...
...
go.sum
View file @
8a273471
...
...
@@ -102,6 +102,7 @@ github.com/bmizerany/pat v0.0.0-20170815010413-6226ea591a40/go.mod h1:8rLXio+Wji
github.com/boltdb/bolt v1.3.1/go.mod h1:clJnj/oiGkjum5o1McbSZDSLxVThjynRyGBgiAx27Ps=
github.com/bradfitz/go-smtpd v0.0.0-20170404230938-deb6d6237625/go.mod h1:HYsPBTaaSFSlLx/70C2HPIMNZpVV8+vt/A+FMnYP11g=
github.com/btcsuite/btcd v0.0.0-20171128150713-2e60448ffcc6/go.mod h1:Dmm/EzmjnCiweXmzRIAiUWCInVmPgjkzgv5k4tVyXiQ=
github.com/btcsuite/btcd v0.0.0-20190109040709-5bda5314ca95/go.mod h1:d3C0AkH6BRcvO8T0UEPu53cnw4IbV63x1bEjildYhO0=
github.com/btcsuite/btcd v0.0.0-20190213025234-306aecffea32/go.mod h1:DrZx5ec/dmnfpw9KyYoQyYo7d0KEvTkk/5M/vbZjAr8=
github.com/btcsuite/btcd v0.0.0-20190523000118-16327141da8c/go.mod h1:3J08xEfcugPacsc34/LKRU2yO7YmuT8yt28J8k2+rrI=
github.com/btcsuite/btcd v0.0.0-20190824003749-130ea5bddde3/go.mod h1:3J08xEfcugPacsc34/LKRU2yO7YmuT8yt28J8k2+rrI=
...
...
@@ -110,6 +111,7 @@ github.com/btcsuite/btcd v0.21.0-beta h1:At9hIZdJW0s9E/fAz28nrz6AmcNlSVucCH796Zt
github.com/btcsuite/btcd v0.21.0-beta/go.mod h1:ZSWyehm27aAuS9bvkATT+Xte3hjHZ+MRgMY/8NJ7K94=
github.com/btcsuite/btclog v0.0.0-20170628155309-84c8d2346e9f h1:bAs4lUbRJpnnkd9VhRV3jjAVU7DJVjMaK+IsvSeZvFo=
github.com/btcsuite/btclog v0.0.0-20170628155309-84c8d2346e9f/go.mod h1:TdznJufoqS23FtqVCzL0ZqgP5MqXbb4fg/WgDys70nA=
github.com/btcsuite/btcutil v0.0.0-20180706230648-ab6388e0c60a/go.mod h1:+5NJ2+qvTyV9exUAL/rxXi3DcLg2Ts+ymUAY5y4NvMg=
github.com/btcsuite/btcutil v0.0.0-20190207003914-4c204d697803/go.mod h1:+5NJ2+qvTyV9exUAL/rxXi3DcLg2Ts+ymUAY5y4NvMg=
github.com/btcsuite/btcutil v0.0.0-20190425235716-9e5f4b9a998d/go.mod h1:+5NJ2+qvTyV9exUAL/rxXi3DcLg2Ts+ymUAY5y4NvMg=
github.com/btcsuite/btcutil v1.0.2 h1:9iZ1Terx9fMIOtq1VrwdqfsATL9MC2l8ZrUY6YZ2uts=
...
...
@@ -206,6 +208,7 @@ github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymF
github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98=
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
github.com/ethereum/go-ethereum v1.8.20/go.mod h1:PwpWDrCLZrV+tfrhqqF6kPknbISMHaJv9Ln3kPCZLwY=
github.com/ethereum/go-ethereum v1.9.25/go.mod h1:vMkFiYLHI4tgPw4k2j4MHKoovchFE8plZ0M9VMk4/oM=
github.com/ethereum/go-ethereum v1.10.0 h1:EBZuZYjk1DHboBJb2YkBN8xItELRY6mtZEiYJKuH0+M=
github.com/ethereum/go-ethereum v1.10.0/go.mod h1:E5e/zvdfUVr91JZ0AwjyuJM3x+no51zZJRz61orLLSk=
...
...
@@ -763,6 +766,8 @@ github.com/miekg/dns v1.1.28/go.mod h1:KNUDUusw/aVsxyTYZM1oqvCicbwhgbNgztCETuNZ7
github.com/miekg/dns v1.1.31/go.mod h1:KNUDUusw/aVsxyTYZM1oqvCicbwhgbNgztCETuNZ7xM=
github.com/miekg/dns v1.1.41 h1:WMszZWJG0XmzbK9FEmzH2TVcqYzFesusSIB41b8KHxY=
github.com/miekg/dns v1.1.41/go.mod h1:p6aan82bvRIyn+zDIv9xYNUpwa73JcSh9BKwknJysuI=
github.com/miguelmota/go-solidity-sha3 v0.1.0 h1:RoRqUD/qKqZCZIoAGVJhX6gEHeD6333uQv+jhBGpRDk=
github.com/miguelmota/go-solidity-sha3 v0.1.0/go.mod h1:FuaBKCJUkJcmPqCuKvPFYfzK1auYGr5+8i2evSBIm/Q=
github.com/minio/blake2b-simd v0.0.0-20160723061019-3f5f724cb5b1 h1:lYpkrQH5ajf0OXOcUbGjvZxxijuBwbbmlSxLiuofa+g=
github.com/minio/blake2b-simd v0.0.0-20160723061019-3f5f724cb5b1/go.mod h1:pD8RvIylQ358TN4wwqatJ8rNavkEINozVn9DtGI3dfQ=
github.com/minio/sha256-simd v0.0.0-20190131020904-2d45a736cd16/go.mod h1:2FMWW+8GMoPweT6+pI63m9YE3Lmw4J71hV56Chs1E/U=
...
...
@@ -1096,6 +1101,7 @@ golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnf
golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.0.0-20181030102418-4d3f4d9ffa16/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.0.0-20190103213133-ff983b9c42bc/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.0.0-20190211182817-74369b46fc67/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.0.0-20190225124518-7f87c0fbb88b/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
...
...
plugin/p2p/gossip/common.go
View file @
8a273471
...
...
@@ -113,15 +113,15 @@ func (c Comm) dialPeerWithAddress(addr *NetAddress, persistent bool, node *Node)
//check remote peer is self or duplicate peer
_
,
pub
:=
node
.
nodeInfo
.
addrBook
.
GetPrivPubKey
()
if
node
.
Has
(
resp
.
UserAgent
)
||
resp
.
UserAgent
==
pub
{
if
node
.
Has
(
resp
.
UserAgent
)
||
resp
.
UserAgent
==
pub
{
//发现同一个peerID 下有两个不同的ip,则把新连接的ip加入黑名单5分钟
prepeer
:=
node
.
GetRegisterPeer
(
resp
.
UserAgent
)
log
.
Info
(
"dialPeerWithAddress"
,
"duplicate connect:"
,
prepeer
.
Addr
(),
addr
.
String
(),
resp
.
GetUserAgent
())
prepeer
:=
node
.
GetRegisterPeer
(
resp
.
UserAgent
)
log
.
Info
(
"dialPeerWithAddress"
,
"duplicate connect:"
,
prepeer
.
Addr
(),
addr
.
String
(),
resp
.
GetUserAgent
())
peer
.
Close
()
return
nil
,
errors
.
New
(
fmt
.
Sprintf
(
"duplicate connect %v"
,
resp
.
UserAgent
))
return
nil
,
errors
.
New
(
fmt
.
Sprintf
(
"duplicate connect %v"
,
resp
.
UserAgent
))
}
node
.
peerStore
.
Store
(
addr
.
String
(),
resp
.
UserAgent
)
node
.
peerStore
.
Store
(
addr
.
String
(),
resp
.
UserAgent
)
peer
.
SetPeerName
(
resp
.
UserAgent
)
return
peer
,
nil
}
...
...
plugin/p2p/gossip/monitor.go
View file @
8a273471
...
...
@@ -438,7 +438,7 @@ func (n *Node) monitorDialPeers() {
//先查询有没有注册进去,避免同时重复连接相同的地址
continue
}
if
_
,
ok
:=
n
.
peerStore
.
Load
(
addr
.
(
string
));
ok
{
if
_
,
ok
:=
n
.
peerStore
.
Load
(
addr
.
(
string
));
ok
{
//不对已经创建peer的ip发起重复连接
continue
}
...
...
plugin/p2p/gossip/node.go
View file @
8a273471
...
...
@@ -80,7 +80,7 @@ type Node struct {
listenPort
int
innerSeeds
sync
.
Map
cfgSeeds
sync
.
Map
peerStore
sync
.
Map
//peerIp-->PeerName
peerStore
sync
.
Map
//peerIp-->PeerName
closed
int32
pubsub
*
pubsub
.
PubSub
chainCfg
*
types
.
Chain33Config
...
...
@@ -246,8 +246,8 @@ func (n *Node) AddCachePeer(pr *Peer) {
func
(
n
*
Node
)
RemoveCachePeer
(
peerName
string
)
{
n
.
cmtx
.
Lock
()
defer
n
.
cmtx
.
Unlock
()
peer
,
ok
:=
n
.
cacheBound
[
peerName
]
if
ok
{
peer
,
ok
:=
n
.
cacheBound
[
peerName
]
if
ok
{
peer
.
Close
()
}
...
...
plugin/p2p/gossip/p2p.go
View file @
8a273471
...
...
@@ -81,6 +81,7 @@ type P2p struct {
subCfg
*
subConfig
mgr
*
p2p
.
Manager
subChan
chan
interface
{}
lock
sync
.
Mutex
}
// New produce a p2p object
...
...
@@ -147,6 +148,8 @@ func (network *P2p) isRestart() bool {
//CloseP2P Close network client
func
(
network
*
P2p
)
CloseP2P
()
{
network
.
lock
.
Lock
()
defer
network
.
lock
.
Unlock
()
log
.
Info
(
"p2p network start shutdown"
)
atomic
.
StoreInt32
(
&
network
.
closed
,
1
)
//等待业务协程停止
...
...
@@ -321,6 +324,8 @@ func (network *P2p) genAirDropKeyFromWallet() error {
//ReStart p2p
func
(
network
*
P2p
)
ReStart
()
{
network
.
lock
.
Lock
()
defer
network
.
lock
.
Unlock
()
//避免重复
if
!
atomic
.
CompareAndSwapInt32
(
&
network
.
restart
,
0
,
1
)
{
return
...
...
@@ -399,7 +404,11 @@ func (network *P2p) subP2pMsg() {
}
func
(
network
*
P2p
)
processEvent
(
msg
*
queue
.
Message
,
taskIdx
int64
,
eventFunc
p2pEventFunc
)
{
network
.
lock
.
Lock
()
defer
network
.
lock
.
Unlock
()
if
network
.
isClose
()
{
return
}
//检测重启标志,停止分发事件,需要等待重启
if
network
.
isRestart
()
{
log
.
Info
(
"wait for p2p restart...."
)
...
...
plugin/p2p/gossip/process.go
View file @
8a273471
...
...
@@ -65,11 +65,7 @@ func (n *Node) processSendP2P(rawData interface{}, peerVersion int32, pid, peerA
}
else
if
ping
,
ok
:=
rawData
.
(
*
types
.
P2PPing
);
ok
{
doSend
=
true
sendData
.
Value
=
&
types
.
BroadCastData_Ping
{
Ping
:
ping
}
}
else
{
//没有合适的类型
log
.
Error
(
"processSendP2P"
,
"rawdata:"
,
rawData
)
}
log
.
Debug
(
"ProcessSendP2PEnd"
,
"peerAddr"
,
peerAddr
,
"doSend"
,
doSend
)
return
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment