From 9368368b878c637cf775d3d9e95063759c1f69b1 Mon Sep 17 00:00:00 2001 From: Felix Lange Date: Thu, 6 Feb 2020 22:13:50 +0100 Subject: [PATCH] node: expose config in service context --- node/node.go | 2 +- node/service.go | 20 ++++++++++---------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/node/node.go b/node/node.go index c9c27d8262..1bdd5af7d2 100644 --- a/node/node.go +++ b/node/node.go @@ -194,7 +194,7 @@ func (n *Node) Start() error { for _, constructor := range n.serviceFuncs { // Create a new context for the particular service ctx := &ServiceContext{ - config: n.config, + Config: *n.config, services: make(map[reflect.Type]Service), EventMux: n.eventmux, AccountManager: n.accman, diff --git a/node/service.go b/node/service.go index 4dea00995c..ef5b995e4b 100644 --- a/node/service.go +++ b/node/service.go @@ -32,20 +32,20 @@ import ( // the protocol stack, that is passed to all constructors to be optionally used; // as well as utility methods to operate on the service environment. type ServiceContext struct { - config *Config services map[reflect.Type]Service // Index of the already constructed services - EventMux *event.TypeMux // Event multiplexer used for decoupled notifications - AccountManager *accounts.Manager // Account manager created by the node. + Config Config + EventMux *event.TypeMux // Event multiplexer used for decoupled notifications + AccountManager *accounts.Manager // Account manager created by the node. } // OpenDatabase opens an existing database with the given name (or creates one // if no previous can be found) from within the node's data directory. If the // node is an ephemeral one, a memory database is returned. func (ctx *ServiceContext) OpenDatabase(name string, cache int, handles int, namespace string) (ethdb.Database, error) { - if ctx.config.DataDir == "" { + if ctx.Config.DataDir == "" { return rawdb.NewMemoryDatabase(), nil } - return rawdb.NewLevelDBDatabase(ctx.config.ResolvePath(name), cache, handles, namespace) + return rawdb.NewLevelDBDatabase(ctx.Config.ResolvePath(name), cache, handles, namespace) } // OpenDatabaseWithFreezer opens an existing database with the given name (or @@ -54,16 +54,16 @@ func (ctx *ServiceContext) OpenDatabase(name string, cache int, handles int, nam // database to immutable append-only files. If the node is an ephemeral one, a // memory database is returned. func (ctx *ServiceContext) OpenDatabaseWithFreezer(name string, cache int, handles int, freezer string, namespace string) (ethdb.Database, error) { - if ctx.config.DataDir == "" { + if ctx.Config.DataDir == "" { return rawdb.NewMemoryDatabase(), nil } - root := ctx.config.ResolvePath(name) + root := ctx.Config.ResolvePath(name) switch { case freezer == "": freezer = filepath.Join(root, "ancient") case !filepath.IsAbs(freezer): - freezer = ctx.config.ResolvePath(freezer) + freezer = ctx.Config.ResolvePath(freezer) } return rawdb.NewLevelDBDatabaseWithFreezer(root, cache, handles, freezer, namespace) } @@ -72,7 +72,7 @@ func (ctx *ServiceContext) OpenDatabaseWithFreezer(name string, cache int, handl // and if the user actually uses persistent storage. It will return an empty string // for emphemeral storage and the user's own input for absolute paths. func (ctx *ServiceContext) ResolvePath(path string) string { - return ctx.config.ResolvePath(path) + return ctx.Config.ResolvePath(path) } // Service retrieves a currently running service registered of a specific type. @@ -88,7 +88,7 @@ func (ctx *ServiceContext) Service(service interface{}) error { // ExtRPCEnabled returns the indicator whether node enables the external // RPC(http, ws or graphql). func (ctx *ServiceContext) ExtRPCEnabled() bool { - return ctx.config.ExtRPCEnabled() + return ctx.Config.ExtRPCEnabled() } // ServiceConstructor is the function signature of the constructors needed to be