floodPreventers

package
v0.0.2 Latest Latest
Warning

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

Go to latest
Published: Oct 31, 2023 License: GPL-3.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

View Source
const WildcardCharacter = "*"

WildcardCharacter is the character string used to specify that the topic refers to a

Variables

This section is empty.

Functions

func NewQuotaFloodPreventer

func NewQuotaFloodPreventer(arg ArgQuotaFloodPreventer) (*quotaFloodPreventer, error)

NewQuotaFloodPreventer creates a new flood preventer based on quota / peer

func NewTopicFloodPreventer

func NewTopicFloodPreventer(
	maxMessagesPerPeer uint32,
) (*topicFloodPreventer, error)

NewTopicFloodPreventer creates a new flood preventer based on topic

Types

type ArgQuotaFloodPreventer

type ArgQuotaFloodPreventer struct {
	Name                      string
	Cacher                    storage.Cacher
	StatusHandlers            []QuotaStatusHandler
	MaxTotalSizePerPeer       uint64
	PercentReserved           float32
	IncreaseFactor            float32
	IncreaseThreshold         uint32
	BaseMaxNumMessagesPerPeer uint32
}

ArgQuotaFloodPreventer defines the arguments for a quota flood preventer

type QuotaStatusHandler

type QuotaStatusHandler interface {
	ResetStatistics()
	AddQuota(pid core.PeerID, numReceived uint32, sizeReceived uint64, numProcessed uint32, sizeProcessed uint64)
	IsInterfaceNil() bool
}

QuotaStatusHandler defines the behavior of a quota handler able to process periodic updates of peers quota measured by the system

Jump to

Keyboard shortcuts

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