les: fix megacheck warnings (#14941)

* les: fix megacheck warnings

* les: fixed testGetProofs
pull/14957/head
Felföldi Zsolt 7 years ago committed by Péter Szilágyi
parent d375193797
commit fff6e03a79
  1. 3
      les/backend.go
  2. 4
      les/flowcontrol/control.go
  3. 6
      les/handler.go
  4. 4
      les/handler_test.go
  5. 42
      les/helper_test.go
  6. 5
      les/peer.go
  7. 27
      les/protocol.go
  8. 11
      les/server.go

@ -70,8 +70,7 @@ type LightEthereum struct {
networkId uint64 networkId uint64
netRPCService *ethapi.PublicNetAPI netRPCService *ethapi.PublicNetAPI
quitSync chan struct{} wg sync.WaitGroup
wg sync.WaitGroup
} }
func New(ctx *node.ServiceContext, config *eth.Config) (*LightEthereum, error) { func New(ctx *node.ServiceContext, config *eth.Config) (*LightEthereum, error) {

@ -157,9 +157,7 @@ func (peer *ServerNode) QueueRequest(reqID, maxCost uint64) {
peer.bufEstimate -= maxCost peer.bufEstimate -= maxCost
peer.sumCost += maxCost peer.sumCost += maxCost
if reqID >= 0 { peer.pending[reqID] = peer.sumCost
peer.pending[reqID] = peer.sumCost
}
} }
// GotReply adjusts estimated buffer value according to the value included in // GotReply adjusts estimated buffer value according to the value included in

@ -69,8 +69,6 @@ func errResp(code errCode, format string, v ...interface{}) error {
return fmt.Errorf("%v - %v", code, fmt.Sprintf(format, v...)) return fmt.Errorf("%v - %v", code, fmt.Sprintf(format, v...))
} }
type hashFetcherFn func(common.Hash) error
type BlockChain interface { type BlockChain interface {
HasHeader(hash common.Hash) bool HasHeader(hash common.Hash) bool
GetHeader(hash common.Hash, number uint64) *types.Header GetHeader(hash common.Hash, number uint64) *types.Header
@ -119,10 +117,6 @@ type ProtocolManager struct {
quitSync chan struct{} quitSync chan struct{}
noMorePeers chan struct{} noMorePeers chan struct{}
syncMu sync.Mutex
syncing bool
syncDone chan struct{}
// wait group is used for graceful shutdowns during downloading // wait group is used for graceful shutdowns during downloading
// and processing // and processing
wg *sync.WaitGroup wg *sync.WaitGroup

@ -305,7 +305,7 @@ func testGetReceipt(t *testing.T, protocol int) {
} }
// Tests that trie merkle proofs can be retrieved // Tests that trie merkle proofs can be retrieved
func TestGetProofsLes1(t *testing.T) { testGetReceipt(t, 1) } func TestGetProofsLes1(t *testing.T) { testGetProofs(t, 1) }
func testGetProofs(t *testing.T, protocol int) { func testGetProofs(t *testing.T, protocol int) {
// Assemble the test environment // Assemble the test environment
@ -327,7 +327,7 @@ func testGetProofs(t *testing.T, protocol int) {
for _, acc := range accounts { for _, acc := range accounts {
req := ProofReq{ req := ProofReq{
BHash: header.Hash(), BHash: header.Hash(),
Key: acc[:], Key: crypto.Keccak256(acc[:]),
} }
proofreqs = append(proofreqs, req) proofreqs = append(proofreqs, req)

@ -20,7 +20,6 @@
package les package les
import ( import (
"crypto/ecdsa"
"crypto/rand" "crypto/rand"
"math/big" "math/big"
"sync" "sync"
@ -140,7 +139,7 @@ func newTestProtocolManager(lightSync bool, blocks int, generator func(int, *cor
Alloc: core.GenesisAlloc{testBankAddress: {Balance: testBankFunds}}, Alloc: core.GenesisAlloc{testBankAddress: {Balance: testBankFunds}},
} }
genesis = gspec.MustCommit(db) genesis = gspec.MustCommit(db)
chain BlockChain chain BlockChain
) )
if peers == nil { if peers == nil {
peers = newPeerSet() peers = newPeerSet()
@ -189,45 +188,6 @@ func newTestProtocolManagerMust(t *testing.T, lightSync bool, blocks int, genera
return pm return pm
} }
// testTxPool is a fake, helper transaction pool for testing purposes
type testTxPool struct {
pool []*types.Transaction // Collection of all transactions
added chan<- []*types.Transaction // Notification channel for new transactions
lock sync.RWMutex // Protects the transaction pool
}
// AddTransactions appends a batch of transactions to the pool, and notifies any
// listeners if the addition channel is non nil
func (p *testTxPool) AddBatch(txs []*types.Transaction) {
p.lock.Lock()
defer p.lock.Unlock()
p.pool = append(p.pool, txs...)
if p.added != nil {
p.added <- txs
}
}
// GetTransactions returns all the transactions known to the pool
func (p *testTxPool) GetTransactions() types.Transactions {
p.lock.RLock()
defer p.lock.RUnlock()
txs := make([]*types.Transaction, len(p.pool))
copy(txs, p.pool)
return txs
}
// newTestTransaction create a new dummy transaction.
func newTestTransaction(from *ecdsa.PrivateKey, nonce uint64, datasize int) *types.Transaction {
tx := types.NewTransaction(nonce, common.Address{}, big.NewInt(0), big.NewInt(100000), big.NewInt(0), make([]byte, datasize))
tx, _ = types.SignTx(tx, types.HomesteadSigner{}, from)
return tx
}
// testPeer is a simulated peer to allow testing direct network calls. // testPeer is a simulated peer to allow testing direct network calls.
type testPeer struct { type testPeer struct {
net p2p.MsgReadWriter // Network layer reader/writer to simulate remote messaging net p2p.MsgReadWriter // Network layer reader/writer to simulate remote messaging

@ -38,10 +38,7 @@ var (
errNotRegistered = errors.New("peer is not registered") errNotRegistered = errors.New("peer is not registered")
) )
const ( const maxResponseErrors = 50 // number of invalid responses tolerated (makes the protocol less brittle but still avoids spam)
maxHeadInfoLen = 20
maxResponseErrors = 50 // number of invalid responses tolerated (makes the protocol less brittle but still avoids spam)
)
type peer struct { type peer struct {
*p2p.Peer *p2p.Peer

@ -23,7 +23,6 @@ import (
"math/big" "math/big"
"github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/common"
"github.com/ethereum/go-ethereum/core/types"
"github.com/ethereum/go-ethereum/rlp" "github.com/ethereum/go-ethereum/rlp"
) )
@ -105,12 +104,6 @@ var errorToString = map[int]string{
ErrHandshakeMissingKey: "Key missing from handshake message", ErrHandshakeMissingKey: "Key missing from handshake message",
} }
type chainManager interface {
GetBlockHashesFromHash(hash common.Hash, amount uint64) (hashes []common.Hash)
GetBlock(hash common.Hash) (block *types.Block)
Status() (td *big.Int, currentBlock common.Hash, genesisBlock common.Hash)
}
// announceData is the network packet for the block announcements. // announceData is the network packet for the block announcements.
type announceData struct { type announceData struct {
Hash common.Hash // Hash of one particular block being announced Hash common.Hash // Hash of one particular block being announced
@ -118,11 +111,6 @@ type announceData struct {
Td *big.Int // Total difficulty of one particular block being announced Td *big.Int // Total difficulty of one particular block being announced
ReorgDepth uint64 ReorgDepth uint64
Update keyValueList Update keyValueList
haveHeaders uint64 // we have the headers of the remote peer's chain up to this number
headKnown bool
requested bool
next *announceData
} }
type blockInfo struct { type blockInfo struct {
@ -131,12 +119,6 @@ type blockInfo struct {
Td *big.Int // Total difficulty of one particular block being announced Td *big.Int // Total difficulty of one particular block being announced
} }
// getBlockHashesData is the network packet for the hash based hash retrieval.
type getBlockHashesData struct {
Hash common.Hash
Amount uint64
}
// getBlockHeadersData represents a block header query. // getBlockHeadersData represents a block header query.
type getBlockHeadersData struct { type getBlockHeadersData struct {
Origin hashOrNumber // Block from which to retrieve headers Origin hashOrNumber // Block from which to retrieve headers
@ -181,15 +163,6 @@ func (hn *hashOrNumber) DecodeRLP(s *rlp.Stream) error {
return err return err
} }
// newBlockData is the network packet for the block propagation message.
type newBlockData struct {
Block *types.Block
TD *big.Int
}
// blockBodiesData is the network packet for block content distribution.
type blockBodiesData []*types.Body
// CodeData is the network response packet for a node data retrieval. // CodeData is the network response packet for a node data retrieval.
type CodeData []struct { type CodeData []struct {
Value []byte Value []byte

@ -44,7 +44,6 @@ type LesServer struct {
defParams *flowcontrol.ServerParams defParams *flowcontrol.ServerParams
lesTopic discv5.Topic lesTopic discv5.Topic
quitSync chan struct{} quitSync chan struct{}
stopped bool
} }
func NewLesServer(eth *eth.Ethereum, config *eth.Config) (*LesServer, error) { func NewLesServer(eth *eth.Ethereum, config *eth.Config) (*LesServer, error) {
@ -118,16 +117,6 @@ func (list RequestCostList) decode() requestCostTable {
return table return table
} }
func (table requestCostTable) encode() RequestCostList {
list := make(RequestCostList, len(table))
for idx, code := range reqList {
list[idx].MsgCode = code
list[idx].BaseCost = table[code].baseCost
list[idx].ReqCost = table[code].reqCost
}
return list
}
type linReg struct { type linReg struct {
sumX, sumY, sumXX, sumXY float64 sumX, sumY, sumXX, sumXY float64
cnt uint64 cnt uint64

Loading…
Cancel
Save