Skip to content

Commit

Permalink
vochain/indexer: move DataDir to Options
Browse files Browse the repository at this point in the history
Simplifies the function calls a bit.
  • Loading branch information
mvdan authored and p4u committed Dec 11, 2023
1 parent 6dc7b93 commit 551829d
Show file tree
Hide file tree
Showing 5 changed files with 16 additions and 13 deletions.
7 changes: 4 additions & 3 deletions service/indexer.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,10 @@ import (
func (vs *VocdoniService) VochainIndexer() error {
log.Info("creating vochain indexer service")
var err error
vs.Indexer, err = indexer.New(filepath.Join(vs.Config.DataDir, "indexer"), vs.App,
indexer.Options{IgnoreLiveResults: vs.Config.Indexer.IgnoreLiveResults},
)
vs.Indexer, err = indexer.New(vs.App, indexer.Options{
DataDir: filepath.Join(vs.Config.DataDir, "indexer"),
IgnoreLiveResults: vs.Config.Indexer.IgnoreLiveResults,
})
if err != nil {
return err
}
Expand Down
2 changes: 1 addition & 1 deletion test/testcommon/vochain.go
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ func NewVochainStateWithProcess(tb testing.TB) *state.State {

func NewMockIndexer(tb testing.TB, vnode *vochain.BaseApplication) *indexer.Indexer {
tb.Log("starting vochain indexer")
sc, err := indexer.New(tb.TempDir(), vnode, indexer.Options{})
sc, err := indexer.New(vnode, indexer.Options{DataDir: tb.TempDir()})
if err != nil {
tb.Fatal(err)
}
Expand Down
12 changes: 7 additions & 5 deletions vochain/indexer/indexer.go
Original file line number Diff line number Diff line change
Expand Up @@ -95,12 +95,14 @@ type Indexer struct {
}

type Options struct {
DataDir string

IgnoreLiveResults bool
}

// New returns an instance of the Indexer
// using the local storage database in dataDir and integrated into the state vochain instance
func New(dataDir string, app *vochain.BaseApplication, opts Options) (*Indexer, error) {
// using the local storage database in DataDir and integrated into the state vochain instance.
func New(app *vochain.BaseApplication, opts Options) (*Indexer, error) {
idx := &Indexer{
App: app,
ignoreLiveResults: opts.IgnoreLiveResults,
Expand All @@ -113,14 +115,14 @@ func New(dataDir string, app *vochain.BaseApplication, opts Options) (*Indexer,
blockUpdateProcs: make(map[string]bool),
blockUpdateProcVoteCounts: make(map[string]bool),
}
log.Infow("indexer initialization", "dataDir", dataDir, "liveResults", !opts.IgnoreLiveResults)
log.Infow("indexer initialization", "dataDir", opts.DataDir, "liveResults", !opts.IgnoreLiveResults)

// The DB itself is opened in "rwc" mode, so it is created if it does not yet exist.
// Create the parent directory as well if it doesn't exist.
if err := os.MkdirAll(dataDir, os.ModePerm); err != nil {
if err := os.MkdirAll(opts.DataDir, os.ModePerm); err != nil {
return nil, err
}
dbPath := filepath.Join(dataDir, "db.sqlite")
dbPath := filepath.Join(opts.DataDir, "db.sqlite")
var err error

// sqlite doesn't support multiple concurrent writers.
Expand Down
2 changes: 1 addition & 1 deletion vochain/indexer/indexer_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ func init() {
}

func newTestIndexer(tb testing.TB, app *vochain.BaseApplication) *Indexer {
idx, err := New(tb.TempDir(), app, Options{})
idx, err := New(app, Options{DataDir: tb.TempDir()})
if err != nil {
tb.Fatal(err)
}
Expand Down
6 changes: 3 additions & 3 deletions vocone/vocone.go
Original file line number Diff line number Diff line change
Expand Up @@ -88,9 +88,9 @@ func NewVocone(dataDir string, keymanager *ethereum.SignKeys, disableIPFS bool,
vc.App.State.SetHeight(uint32(vc.height.Load()))

// Create indexer
if vc.Indexer, err = indexer.New(filepath.Join(dataDir, "indexer"), vc.App,
indexer.Options{},
); err != nil {
if vc.Indexer, err = indexer.New(vc.App, indexer.Options{
DataDir: filepath.Join(dataDir, "indexer"),
}); err != nil {
return nil, err
}

Expand Down

0 comments on commit 551829d

Please sign in to comment.