qos

package
v5.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 12, 2025 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

View Source
const (
	PercentileToCalculateLatency = 0.9
	MinProvidersForSync          = 0.6
)

Variables

View Source
var AvailabilityPercentage sdk.Dec = sdk.NewDecWithPrec(1, 1) // TODO move to params pairing

Functions

This section is empty.

Types

type Mutator

type Mutator interface {
	Mutate(report *QoSReport)
	GetEpochAndSessionId() (epoch uint64, sessionId int64)
}

Base interface for all mutators

type QoSManager

type QoSManager struct {
	// contains filtered or unexported fields
}

func NewQoSManager

func NewQoSManager() *QoSManager

func (*QoSManager) AddFailedRelay

func (qosManager *QoSManager) AddFailedRelay(epoch uint64, sessionId int64)

func (*QoSManager) CalculateQoS

func (qosManager *QoSManager) CalculateQoS(epoch uint64, sessionId int64, providerAddress string, latency, expectedLatency time.Duration, blockHeightDiff int64, numOfProviders int, servicersToCount int64)

func (*QoSManager) GetAnsweredRelays

func (qosManager *QoSManager) GetAnsweredRelays(epoch uint64, sessionId int64) uint64

func (*QoSManager) GetLastQoSReport

func (qosManager *QoSManager) GetLastQoSReport(epoch uint64, sessionId int64) *pairingtypes.QualityOfServiceReport

func (*QoSManager) GetLastReputationQoSReport

func (qosManager *QoSManager) GetLastReputationQoSReport(epoch uint64, sessionId int64) *pairingtypes.QualityOfServiceReport

func (*QoSManager) GetSyncScoreSum

func (qosManager *QoSManager) GetSyncScoreSum(epoch uint64, sessionId int64) int64

func (*QoSManager) GetTotalRelays

func (qosManager *QoSManager) GetTotalRelays(epoch uint64, sessionId int64) uint64

func (*QoSManager) GetTotalSyncScore

func (qosManager *QoSManager) GetTotalSyncScore(epoch uint64, sessionId int64) int64

func (*QoSManager) SetLastReputationQoSReport

func (qosManager *QoSManager) SetLastReputationQoSReport(epoch uint64, sessionId int64, report *pairingtypes.QualityOfServiceReport)

type QoSMutatorBase

type QoSMutatorBase struct {
	// contains filtered or unexported fields
}

func (*QoSMutatorBase) GetEpochAndSessionId

func (qoSMutatorBase *QoSMutatorBase) GetEpochAndSessionId() (epoch uint64, sessionId int64)

type QoSMutatorRelayFailure

type QoSMutatorRelayFailure struct {
	*QoSMutatorBase
}

Mutator for relay failure

func (*QoSMutatorRelayFailure) Mutate

func (qoSMutatorRelayFailure *QoSMutatorRelayFailure) Mutate(report *QoSReport)

type QoSMutatorRelaySuccess

type QoSMutatorRelaySuccess struct {
	*QoSMutatorBase
	// contains filtered or unexported fields
}

Mutator for relay success

func (*QoSMutatorRelaySuccess) Mutate

func (qoSMutatorRelaySuccess *QoSMutatorRelaySuccess) Mutate(report *QoSReport)

type QoSMutatorSetReputation

type QoSMutatorSetReputation struct {
	*QoSMutatorBase
	// contains filtered or unexported fields
}

Mutator to set usage for a session

func (*QoSMutatorSetReputation) Mutate

func (qoSMutatorSetReputation *QoSMutatorSetReputation) Mutate(report *QoSReport)

type QoSReport

type QoSReport struct {
	// contains filtered or unexported fields
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL