Data send over the wire shouldn't be RLPed more then once
This commit is contained in:
parent
878e796c0a
commit
233f5200ef
@ -122,9 +122,10 @@ func (s *Ethereum) InboundPeers() []*Peer {
|
||||
return inboundPeers[:length]
|
||||
}
|
||||
|
||||
func (s *Ethereum) Broadcast(msgType ethwire.MsgType, data []byte) {
|
||||
func (s *Ethereum) Broadcast(msgType ethwire.MsgType, data interface{}) {
|
||||
msg := ethwire.NewMessage(msgType, data)
|
||||
eachPeer(s.peers, func(p *Peer, e *list.Element) {
|
||||
p.QueueMessage(ethwire.NewMessage(msgType, data))
|
||||
p.QueueMessage(msg)
|
||||
})
|
||||
}
|
||||
|
||||
|
15
peer.go
15
peer.go
@ -170,12 +170,15 @@ out:
|
||||
// Version message
|
||||
p.handleHandshake(msg)
|
||||
case ethwire.MsgBlockTy:
|
||||
err := p.ethereum.BlockManager.ProcessBlock(ethchain.NewBlock(msg.Data))
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
}
|
||||
/*
|
||||
err := p.ethereum.BlockManager.ProcessBlock(ethchain.NewBlock(msg.Data))
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
}
|
||||
*/
|
||||
case ethwire.MsgTxTy:
|
||||
p.ethereum.TxPool.QueueTransaction(ethutil.NewTransactionFromData(msg.Data))
|
||||
//p.ethereum.TxPool.QueueTransaction(ethchain.NewTransactionFromData(msg.Data))
|
||||
p.ethereum.TxPool.QueueTransaction(ethchain.NewTransactionFromRlpValue(msg.Data.Get(0)))
|
||||
case ethwire.MsgInvTy:
|
||||
case ethwire.MsgGetPeersTy:
|
||||
p.requestedPeerList = true
|
||||
@ -263,7 +266,7 @@ func (p *Peer) pushPeers() {
|
||||
}
|
||||
|
||||
func (p *Peer) handleHandshake(msg *ethwire.Msg) {
|
||||
c := ethutil.Conv(msg.Data)
|
||||
c := msg.Data
|
||||
// [PROTOCOL_VERSION, NETWORK_ID, CLIENT_ID]
|
||||
if c.Get(2).AsUint() == p.ethereum.Nonce {
|
||||
//if msg.Nonce == p.ethereum.Nonce {
|
||||
|
Loading…
Reference in New Issue
Block a user