github.com/unicornultrafoundation/go-u2u@v1.0.0-rc1.0.20240205080301-e74a83d3fadc/gossip/blockproc/verwatcher/store.go (about)

     1  package verwatcher
     2  
     3  import (
     4  	"sync/atomic"
     5  
     6  	"github.com/unicornultrafoundation/go-helios/u2udb"
     7  
     8  	"github.com/unicornultrafoundation/go-u2u/logger"
     9  )
    10  
    11  // Store is a node persistent storage working over physical key-value database.
    12  type Store struct {
    13  	mainDB u2udb.Store
    14  
    15  	cache struct {
    16  		networkVersion atomic.Value
    17  		missedVersion  atomic.Value
    18  	}
    19  
    20  	logger.Instance
    21  }
    22  
    23  // NewStore creates store over key-value db.
    24  func NewStore(mainDB u2udb.Store) *Store {
    25  	s := &Store{
    26  		mainDB:   mainDB,
    27  		Instance: logger.New("verwatcher-store"),
    28  	}
    29  
    30  	return s
    31  }