@@ -227,7 +227,7 @@ type BlockChain struct {
227
227
// trusted diff layers
228
228
diffLayerCache * lru.Cache // Cache for the diffLayers
229
229
diffLayerRLPCache * lru.Cache // Cache for the rlp encoded diffLayers
230
- diffLayerChanCache * sync. Map // Cache for
230
+ diffLayerChanCache * lru. Cache // Cache for
231
231
diffQueue * prque.Prque // A Priority queue to store recent diff layer
232
232
diffQueueBuffer chan * types.DiffLayer
233
233
diffLayerFreezerBlockLimit uint64
@@ -279,7 +279,7 @@ func NewBlockChain(db ethdb.Database, cacheConfig *CacheConfig, chainConfig *par
279
279
futureBlocks , _ := lru .New (maxFutureBlocks )
280
280
diffLayerCache , _ := lru .New (diffLayerCacheLimit )
281
281
diffLayerRLPCache , _ := lru .New (diffLayerRLPCacheLimit )
282
- diffLayerChanCache := new (sync. Map )
282
+ diffLayerChanCache , _ := lru . New ( diffLayerCacheLimit )
283
283
284
284
bc := & BlockChain {
285
285
chainConfig : chainConfig ,
@@ -529,7 +529,7 @@ func (bc *BlockChain) cacheDiffLayer(diffLayer *types.DiffLayer, sorted bool) {
529
529
}
530
530
531
531
bc .diffLayerCache .Add (diffLayer .BlockHash , diffLayer )
532
- if cached , ok := bc .diffLayerChanCache .Load (diffLayer .BlockHash ); ok {
532
+ if cached , ok := bc .diffLayerChanCache .Get (diffLayer .BlockHash ); ok {
533
533
diffLayerCh := cached .(chan struct {})
534
534
close (diffLayerCh )
535
535
}
@@ -1834,7 +1834,7 @@ func (bc *BlockChain) writeBlockWithState(block *types.Block, receipts []*types.
1834
1834
diffLayer .Number = block .NumberU64 ()
1835
1835
1836
1836
diffLayerCh := make (chan struct {})
1837
- bc .diffLayerChanCache .Store (diffLayer .BlockHash , diffLayerCh )
1837
+ bc .diffLayerChanCache .Add (diffLayer .BlockHash , diffLayerCh )
1838
1838
1839
1839
go bc .cacheDiffLayer (diffLayer , false )
1840
1840
}
0 commit comments