Skip to content
Snippets Groups Projects
plugin.go 1.02 KiB
Newer Older
package analysis

import (
Hans Moog's avatar
Hans Moog committed
	"github.com/iotaledger/hive.go/logger"
	"github.com/iotaledger/hive.go/node"

capossele's avatar
capossele committed
	"github.com/iotaledger/goshimmer/plugins/analysis/client"
	"github.com/iotaledger/goshimmer/plugins/analysis/server"
	"github.com/iotaledger/goshimmer/plugins/analysis/webinterface"
Hans Moog's avatar
Hans Moog committed
	"github.com/iotaledger/goshimmer/plugins/config"
var pluginName = "Analysis"

// Plugin defines the analysis plugin.
var Plugin = node.NewPlugin(pluginName, node.Enabled, configure, run)

Luca Moser's avatar
Luca Moser committed
var log *logger.Logger

func configure(plugin *node.Plugin) {
	log = logger.NewLogger(pluginName)
	if config.Node.GetInt(server.CfgServerPort) != 0 {
capossele's avatar
capossele committed
		webinterface.Configure(plugin)
		server.Configure(plugin)
	}
}

func run(plugin *node.Plugin) {
	if config.Node.GetInt(server.CfgServerPort) != 0 {
capossele's avatar
capossele committed
		webinterface.Run(plugin)
		server.Run(plugin)
	} else {
		log.Info("Server is disabled (server-port is 0)")
capossele's avatar
capossele committed
	}
	if config.Node.GetString(client.CfgServerAddress) != "" {
capossele's avatar
capossele committed
		client.Run(plugin)
	} else {
		log.Info("Client is disabled (server-address is empty)")
capossele's avatar
capossele committed
	}