[#212] reputationsvc: Resolve funlen linter
ci/woodpecker/push/pre-commit Pipeline was successful Details

Resolve funlen linter for Calculator.iterateDaughter method.

Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
pull/213/head
Dmitrii Stepanov 2023-04-05 11:46:56 +03:00 committed by Gitea
parent 7ebbfa3358
commit c236b54a65
1 changed files with 60 additions and 53 deletions

View File

@ -101,7 +101,6 @@ type iterDaughterPrm struct {
consumersIter TrustIterator
}
// nolint: funlen
func (c *Calculator) iterateDaughter(ctx context.Context, p iterDaughterPrm) {
initTrust, err := c.prm.InitialTrustSource.InitialTrust(p.id)
if err != nil {
@ -157,69 +156,77 @@ func (c *Calculator) iterateDaughter(ctx context.Context, p iterDaughterPrm) {
intermediateTrust.SetI(p.ei.I())
if p.lastIter {
finalWriter, err := c.prm.FinalResultTarget.InitIntermediateWriter(p.ei)
if err != nil {
c.opts.log.Debug("init writer failure",
zap.String("error", err.Error()),
)
return
}
intermediateTrust.SetValue(sum)
err = finalWriter.WriteIntermediateTrust(intermediateTrust)
if err != nil {
c.opts.log.Debug("write final result failure",
zap.String("error", err.Error()),
)
return
}
c.processLastIteration(p, intermediateTrust, sum)
} else {
intermediateWriter, err := c.prm.IntermediateValueTarget.InitWriter(p.ei)
if err != nil {
c.opts.log.Debug("init writer failure",
zap.String("error", err.Error()),
)
c.processIntermediateIteration(ctx, p, daughterIter, sum)
}
}
return
func (c *Calculator) processLastIteration(p iterDaughterPrm, intermediateTrust eigentrust.IterationTrust, sum reputation.TrustValue) {
finalWriter, err := c.prm.FinalResultTarget.InitIntermediateWriter(p.ei)
if err != nil {
c.opts.log.Debug("init writer failure",
zap.String("error", err.Error()),
)
return
}
intermediateTrust.SetValue(sum)
err = finalWriter.WriteIntermediateTrust(intermediateTrust)
if err != nil {
c.opts.log.Debug("write final result failure",
zap.String("error", err.Error()),
)
return
}
}
func (c *Calculator) processIntermediateIteration(ctx context.Context, p iterDaughterPrm, daughterIter TrustIterator, sum reputation.TrustValue) {
intermediateWriter, err := c.prm.IntermediateValueTarget.InitWriter(p.ei)
if err != nil {
c.opts.log.Debug("init writer failure",
zap.String("error", err.Error()),
)
return
}
err = daughterIter.Iterate(func(trust reputation.Trust) error {
select {
case <-ctx.Done():
return ctx.Err()
default:
}
err = daughterIter.Iterate(func(trust reputation.Trust) error {
select {
case <-ctx.Done():
return ctx.Err()
default:
}
val := trust.Value()
val.Mul(sum)
val := trust.Value()
val.Mul(sum)
trust.SetValue(val)
trust.SetValue(val)
err := intermediateWriter.Write(ctx, trust)
if err != nil {
c.opts.log.Debug("write value failure",
zap.String("error", err.Error()),
)
}
return nil
})
err := intermediateWriter.Write(ctx, trust)
if err != nil {
c.opts.log.Debug("iterate daughter trusts failure",
c.opts.log.Debug("write value failure",
zap.String("error", err.Error()),
)
}
err = intermediateWriter.Close(ctx)
if err != nil {
c.opts.log.Error(
"could not close writer",
zap.String("error", err.Error()),
)
}
return nil
})
if err != nil {
c.opts.log.Debug("iterate daughter trusts failure",
zap.String("error", err.Error()),
)
}
err = intermediateWriter.Close(ctx)
if err != nil {
c.opts.log.Error(
"could not close writer",
zap.String("error", err.Error()),
)
}
}