Skip to content

Commit ae496f1

Browse files
committed
Merge pull request #334 from uprendis/feature/genesis-id-cache
Cache for genesis ID
2 parents d136014 + 38e969f commit ae496f1

File tree

3 files changed

+8
-0
lines changed

3 files changed

+8
-0
lines changed

gossip/service.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -210,6 +210,7 @@ func newService(config Config, store *Store, blockProc BlockProc, engine lachesi
210210
svc.store.GetLastEVs()
211211
svc.store.GetLlrState()
212212
svc.store.GetUpgradeHeights()
213+
svc.store.GetGenesisID()
213214
netVerStore := verwatcher.NewStore(store.table.NetworkVersion)
214215
netVerStore.GetNetworkVersion()
215216
netVerStore.GetMissedVersion()

gossip/store.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@ type Store struct {
7979
LlrState atomic.Value // store by value
8080
KvdbEvmSnap atomic.Value // store by pointer
8181
UpgradeHeights atomic.Value // store by pointer
82+
Genesis atomic.Value // store by value
8283
}
8384

8485
mutex struct {

gossip/store_block.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,10 @@ import (
1414
)
1515

1616
func (s *Store) GetGenesisID() *hash.Hash {
17+
if v := s.cache.Genesis.Load(); v != nil {
18+
val := v.(hash.Hash)
19+
return &val
20+
}
1721
valBytes, err := s.table.Genesis.Get([]byte("g"))
1822
if err != nil {
1923
s.Log.Crit("Failed to get key-value", "err", err)
@@ -22,6 +26,7 @@ func (s *Store) GetGenesisID() *hash.Hash {
2226
return nil
2327
}
2428
val := hash.BytesToHash(valBytes)
29+
s.cache.Genesis.Store(val)
2530
return &val
2631
}
2732

@@ -38,6 +43,7 @@ func (s *Store) SetGenesisID(val hash.Hash) {
3843
if err != nil {
3944
s.Log.Crit("Failed to put key-value", "err", err)
4045
}
46+
s.cache.Genesis.Store(val)
4147
}
4248

4349
// SetBlock stores chain block.

0 commit comments

Comments
 (0)