Skip to content
Snippets Groups Projects
Commit bc791bd8 authored by capossele's avatar capossele
Browse files

:ok_hand: Updating code due to code review changes.

parent 9e06871a
No related branches found
No related tags found
No related merge requests found
...@@ -32,26 +32,25 @@ func configureDrngLiveFeed() { ...@@ -32,26 +32,25 @@ func configureDrngLiveFeed() {
} }
func runDrngLiveFeed() { func runDrngLiveFeed() {
newMsgRateLimiter := time.NewTicker(time.Second / 10)
notifyNewRandomness := events.NewClosure(func(message state.Randomness) {
select {
case <-newMsgRateLimiter.C:
drngLiveFeedWorkerPool.TrySubmit(message)
default:
}
})
daemon.BackgroundWorker("Dashboard[DRNGUpdater]", func(shutdownSignal <-chan struct{}) { daemon.BackgroundWorker("Dashboard[DRNGUpdater]", func(shutdownSignal <-chan struct{}) {
if !drng.Enabled() { newMsgRateLimiter := time.NewTicker(time.Second / 10)
return defer newMsgRateLimiter.Stop()
}
notifyNewRandomness := events.NewClosure(func(message state.Randomness) {
select {
case <-newMsgRateLimiter.C:
drngLiveFeedWorkerPool.TrySubmit(message)
default:
}
})
drng.Instance().Events.Randomness.Attach(notifyNewRandomness) drng.Instance().Events.Randomness.Attach(notifyNewRandomness)
drngLiveFeedWorkerPool.Start() drngLiveFeedWorkerPool.Start()
defer drngLiveFeedWorkerPool.Stop()
<-shutdownSignal <-shutdownSignal
log.Info("Stopping Dashboard[DRNGUpdater] ...") log.Info("Stopping Dashboard[DRNGUpdater] ...")
drng.Instance().Events.Randomness.Detach(notifyNewRandomness) drng.Instance().Events.Randomness.Detach(notifyNewRandomness)
newMsgRateLimiter.Stop()
drngLiveFeedWorkerPool.Stop()
log.Info("Stopping Dashboard[DRNGUpdater] ... done") log.Info("Stopping Dashboard[DRNGUpdater] ... done")
}, shutdown.PriorityDashboard) }, shutdown.PriorityDashboard)
} }
...@@ -14,6 +14,7 @@ import ( ...@@ -14,6 +14,7 @@ import (
"github.com/iotaledger/goshimmer/plugins/autopeering/local" "github.com/iotaledger/goshimmer/plugins/autopeering/local"
"github.com/iotaledger/goshimmer/plugins/banner" "github.com/iotaledger/goshimmer/plugins/banner"
"github.com/iotaledger/goshimmer/plugins/config" "github.com/iotaledger/goshimmer/plugins/config"
"github.com/iotaledger/goshimmer/plugins/drng"
"github.com/iotaledger/goshimmer/plugins/gossip" "github.com/iotaledger/goshimmer/plugins/gossip"
"github.com/iotaledger/goshimmer/plugins/messagelayer" "github.com/iotaledger/goshimmer/plugins/messagelayer"
"github.com/iotaledger/goshimmer/plugins/metrics" "github.com/iotaledger/goshimmer/plugins/metrics"
...@@ -77,7 +78,11 @@ func run(plugin *node.Plugin) { ...@@ -77,7 +78,11 @@ func run(plugin *node.Plugin) {
}, shutdown.PriorityDashboard) }, shutdown.PriorityDashboard)
runLiveFeed() runLiveFeed()
runDrngLiveFeed()
// run dRNG live feed if dRNG plugin is enabled
if !node.IsSkipped(drng.Plugin) {
runDrngLiveFeed()
}
// allow any origin for websocket connections // allow any origin for websocket connections
upgrader.CheckOrigin = func(r *http.Request) bool { upgrader.CheckOrigin = func(r *http.Request) bool {
......
...@@ -10,6 +10,7 @@ import ( ...@@ -10,6 +10,7 @@ import (
cbPayload "github.com/iotaledger/goshimmer/packages/binary/drng/subtypes/collectiveBeacon/payload" cbPayload "github.com/iotaledger/goshimmer/packages/binary/drng/subtypes/collectiveBeacon/payload"
"github.com/iotaledger/goshimmer/plugins/config" "github.com/iotaledger/goshimmer/plugins/config"
"github.com/iotaledger/hive.go/crypto/ed25519" "github.com/iotaledger/hive.go/crypto/ed25519"
"github.com/iotaledger/hive.go/logger"
"github.com/mr-tron/base58/base58" "github.com/mr-tron/base58/base58"
) )
...@@ -19,6 +20,7 @@ var ( ...@@ -19,6 +20,7 @@ var (
) )
func configureDRNG() *drng.DRNG { func configureDRNG() *drng.DRNG {
log = logger.NewLogger(PluginName)
// parse identities of the committee members // parse identities of the committee members
committeeMembers, err := parseCommitteeMembers() committeeMembers, err := parseCommitteeMembers()
if err != nil { if err != nil {
......
...@@ -26,15 +26,14 @@ var ( ...@@ -26,15 +26,14 @@ var (
log *logger.Logger log *logger.Logger
) )
func configure(*node.Plugin) { func configure(_ *node.Plugin) {
log = logger.NewLogger(PluginName)
instance = Instance()
configureEvents() configureEvents()
} }
func run(*node.Plugin) {} func run(*node.Plugin) {}
func configureEvents() { func configureEvents() {
instance := Instance()
messagelayer.Tangle.Events.MessageSolid.Attach(events.NewClosure(func(cachedMessage *message.CachedMessage, cachedMessageMetadata *tangle.CachedMessageMetadata) { messagelayer.Tangle.Events.MessageSolid.Attach(events.NewClosure(func(cachedMessage *message.CachedMessage, cachedMessageMetadata *tangle.CachedMessageMetadata) {
cachedMessageMetadata.Release() cachedMessageMetadata.Release()
...@@ -61,8 +60,3 @@ func configureEvents() { ...@@ -61,8 +60,3 @@ func configureEvents() {
}) })
})) }))
} }
// Enabled returns the enabled status of the plugin
func Enabled() bool {
return Plugin.Status != node.Disabled
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment