OSDN Git Service

rename to assetStore
authorHAOYUatHZ <haoyu@protonmail.com>
Tue, 18 Jun 2019 07:23:33 +0000 (15:23 +0800)
committerHAOYUatHZ <haoyu@protonmail.com>
Tue, 18 Jun 2019 07:23:33 +0000 (15:23 +0800)
cmd/fedd/main.go
federation/database/asset_store.go [moved from federation/database/asset_keeper.go with 75% similarity]
federation/synchron/mainchain_keeper.go
federation/synchron/sidechain_keeper.go
federation/warder.go

index 3823b78..314775d 100644 (file)
@@ -20,10 +20,10 @@ func main() {
                log.WithField("err", err).Panic("initialize mysql db error")
        }
 
-       assetKeeper := database.NewAssetKeeper(db)
-       go synchron.NewMainchainKeeper(db, assetKeeper, cfg).Run()
-       go synchron.NewSidechainKeeper(db, assetKeeper, cfg).Run()
-       go federation.NewWarder(db, assetKeeper, cfg).Run()
+       assetStore := database.NewAssetStore(db)
+       go synchron.NewMainchainKeeper(db, assetStore, cfg).Run()
+       go synchron.NewSidechainKeeper(db, assetStore, cfg).Run()
+       go federation.NewWarder(db, assetStore, cfg).Run()
 
        // keep the main func running in case of terminating goroutines
        var wg sync.WaitGroup
similarity index 75%
rename from federation/database/asset_keeper.go
rename to federation/database/asset_store.go
index 97f6e11..bca0fa8 100644 (file)
@@ -10,19 +10,19 @@ import (
 
 const maxAssetCached = 1024
 
-type AssetKeeper struct {
+type AssetStore struct {
        cache *lru.Cache
        db    *gorm.DB
 }
 
-func NewAssetKeeper(db *gorm.DB) *AssetKeeper {
-       return &AssetKeeper{
+func NewAssetStore(db *gorm.DB) *AssetStore {
+       return &AssetStore{
                cache: lru.New(maxAssetCached),
                db:    db,
        }
 }
 
-func (a *AssetKeeper) GetByOrmID(id uint64) (*orm.Asset, error) {
+func (a *AssetStore) GetByOrmID(id uint64) (*orm.Asset, error) {
        asset := &orm.Asset{ID: id}
        if err := a.db.Where(asset).First(asset).Error; err != nil {
                return nil, errors.Wrap(err, "asset not found by orm id")
@@ -31,7 +31,7 @@ func (a *AssetKeeper) GetByOrmID(id uint64) (*orm.Asset, error) {
        return asset, nil
 }
 
-func (a *AssetKeeper) Get(assetID string) (*orm.Asset, error) {
+func (a *AssetStore) Get(assetID string) (*orm.Asset, error) {
        if v, ok := a.cache.Get(assetID); ok {
                return v.(*orm.Asset), nil
        }
@@ -45,7 +45,7 @@ func (a *AssetKeeper) Get(assetID string) (*orm.Asset, error) {
        return asset, nil
 }
 
-func (a *AssetKeeper) Add(asset *orm.Asset) error {
+func (a *AssetStore) Add(asset *orm.Asset) error {
        if err := a.db.Create(asset).Error; err != nil {
                return err
        }
index 233a0f9..ffc7a30 100644 (file)
@@ -24,22 +24,22 @@ import (
 )
 
 type mainchainKeeper struct {
-       cfg         *config.Chain
-       db          *gorm.DB
-       node        *service.Node
-       chainName   string
-       assetKeeper *database.AssetKeeper
-       fedProg     []byte
+       cfg        *config.Chain
+       db         *gorm.DB
+       node       *service.Node
+       chainName  string
+       assetStore *database.AssetStore
+       fedProg    []byte
 }
 
-func NewMainchainKeeper(db *gorm.DB, assetKeeper *database.AssetKeeper, cfg *config.Config) *mainchainKeeper {
+func NewMainchainKeeper(db *gorm.DB, assetStore *database.AssetStore, cfg *config.Config) *mainchainKeeper {
        return &mainchainKeeper{
-               cfg:         &cfg.Mainchain,
-               db:          db,
-               node:        service.NewNode(cfg.Mainchain.Upstream),
-               chainName:   cfg.Mainchain.Name,
-               assetKeeper: assetKeeper,
-               fedProg:     federation.ParseFedProg(cfg.Warders, cfg.Quorum),
+               cfg:        &cfg.Mainchain,
+               db:         db,
+               node:       service.NewNode(cfg.Mainchain.Upstream),
+               chainName:  cfg.Mainchain.Name,
+               assetStore: assetStore,
+               fedProg:    federation.ParseFedProg(cfg.Warders, cfg.Quorum),
        }
 }
 
@@ -218,7 +218,7 @@ func (m *mainchainKeeper) getCrossChainReqs(crossTransactionID uint64, tx *types
                        continue
                }
 
-               asset, err := m.assetKeeper.Get(rawOutput.OutputCommitment.AssetAmount.AssetId.String())
+               asset, err := m.assetStore.Get(rawOutput.OutputCommitment.AssetAmount.AssetId.String())
                if err != nil {
                        return nil, err
                }
@@ -279,11 +279,11 @@ func (m *mainchainKeeper) processIssuing(txs []*types.Tx) error {
                        switch inp := input.TypedInput.(type) {
                        case *types.IssuanceInput:
                                assetID := inp.AssetID()
-                               if _, err := m.assetKeeper.Get(assetID.String()); err == nil {
+                               if _, err := m.assetStore.Get(assetID.String()); err == nil {
                                        continue
                                }
 
-                               m.assetKeeper.Add(&orm.Asset{
+                               m.assetStore.Add(&orm.Asset{
                                        AssetID:           assetID.String(),
                                        IssuanceProgram:   hex.EncodeToString(inp.IssuanceProgram),
                                        VMVersion:         inp.VMVersion,
index 9414ad1..25a75ef 100644 (file)
@@ -21,20 +21,20 @@ import (
 )
 
 type sidechainKeeper struct {
-       cfg         *config.Chain
-       db          *gorm.DB
-       node        *service.Node
-       chainName   string
-       assetKeeper *database.AssetKeeper
+       cfg        *config.Chain
+       db         *gorm.DB
+       node       *service.Node
+       chainName  string
+       assetStore *database.AssetStore
 }
 
-func NewSidechainKeeper(db *gorm.DB, assetKeeper *database.AssetKeeper, cfg *config.Config) *sidechainKeeper {
+func NewSidechainKeeper(db *gorm.DB, assetStore *database.AssetStore, cfg *config.Config) *sidechainKeeper {
        return &sidechainKeeper{
-               cfg:         &cfg.Sidechain,
-               db:          db,
-               node:        service.NewNode(cfg.Sidechain.Upstream),
-               chainName:   cfg.Sidechain.Name,
-               assetKeeper: assetKeeper,
+               cfg:        &cfg.Sidechain,
+               db:         db,
+               node:       service.NewNode(cfg.Sidechain.Upstream),
+               chainName:  cfg.Sidechain.Name,
+               assetStore: assetStore,
        }
 }
 
@@ -233,7 +233,7 @@ func (s *sidechainKeeper) getCrossChainReqs(crossTransactionID uint64, tx *types
                        continue
                }
 
-               asset, err := s.assetKeeper.Get(rawOutput.OutputCommitment().AssetAmount.AssetId.String())
+               asset, err := s.assetStore.Get(rawOutput.OutputCommitment().AssetAmount.AssetId.String())
                if err != nil {
                        return nil, err
                }
index 943ecce..ee548e7 100644 (file)
@@ -24,7 +24,7 @@ var collectInterval = 5 * time.Second
 
 type warder struct {
        db            *gorm.DB
-       assetKeeper   *database.AssetKeeper
+       assetStore    *database.AssetStore
        txCh          chan *orm.CrossTransaction
        fedProg       []byte
        position      uint8
@@ -35,11 +35,11 @@ type warder struct {
        remotes       []*service.Warder
 }
 
-func NewWarder(db *gorm.DB, assetKeeper *database.AssetKeeper, cfg *config.Config) *warder {
+func NewWarder(db *gorm.DB, assetStore *database.AssetStore, cfg *config.Config) *warder {
        local, remotes := parseWarders(cfg)
        return &warder{
                db:            db,
-               assetKeeper:   assetKeeper,
+               assetStore:    assetStore,
                txCh:          make(chan *orm.CrossTransaction),
                fedProg:       ParseFedProg(cfg.Warders, cfg.Quorum),
                position:      local.Position,
@@ -179,8 +179,8 @@ func (w *warder) buildSidechainTx(ormTx *orm.CrossTransaction) (*vaporTypes.Tx,
        }
 
        for _, req := range ormTx.Reqs {
-               // getAsset from assetKeeper instead of preload asset, in order to save db query overload
-               asset, err := w.assetKeeper.GetByOrmID(req.AssetID)
+               // getAsset from assetStore instead of preload asset, in order to save db query overload
+               asset, err := w.assetStore.GetByOrmID(req.AssetID)
                if err != nil {
                        return nil, "", errors.Wrap(err, "get asset by ormAsset ID")
                }