Documentation ¶
Index ¶
- type GossipSubCtrlMsgIhaveLimitsConfig
- type GossipSubInspectorBuilder
- func (b *GossipSubInspectorBuilder) Build() (p2p.GossipSubInspectorSuite, error)
- func (b *GossipSubInspectorBuilder) SetMetrics(metricsCfg *p2pconfig.MetricsConfig) *GossipSubInspectorBuilder
- func (b *GossipSubInspectorBuilder) SetNetworkType(networkType network.NetworkingType) *GossipSubInspectorBuilder
- type GossipSubRPCInspectorsConfig
- type GossipSubRPCMetricsInspectorConfigs
- type GossipSubRPCValidationInspectorConfigs
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type GossipSubCtrlMsgIhaveLimitsConfig ¶ added in v0.31.0
type GossipSubCtrlMsgIhaveLimitsConfig struct { // IHaveLimits IHAVE control message validation limits. IHaveLimits map[string]int // IHaveSyncInspectSampleSizePercentage the percentage of topics to sample for sync pre-processing in float64 form. IHaveSyncInspectSampleSizePercentage float64 // IHaveAsyncInspectSampleSizePercentage the percentage of topics to sample for async pre-processing in float64 form. IHaveAsyncInspectSampleSizePercentage float64 // IHaveInspectionMaxSampleSize the max number of ihave messages in a sample to be inspected. IHaveInspectionMaxSampleSize float64 }
GossipSubCtrlMsgIhaveLimitsConfig validation limit configs for ihave RPC control messages.
func (*GossipSubCtrlMsgIhaveLimitsConfig) IhaveConfigurationOpts ¶ added in v0.31.0
func (g *GossipSubCtrlMsgIhaveLimitsConfig) IhaveConfigurationOpts() []validation.CtrlMsgValidationConfigOption
IhaveConfigurationOpts returns list of options for the ihave configuration.
type GossipSubInspectorBuilder ¶
type GossipSubInspectorBuilder struct {
// contains filtered or unexported fields
}
GossipSubInspectorBuilder builder that constructs all rpc inspectors used by gossip sub. The following rpc inspectors are created with this builder. - validation inspector: performs validation on all control messages. - metrics inspector: observes metrics for each rpc message received.
func NewGossipSubInspectorBuilder ¶
func NewGossipSubInspectorBuilder(logger zerolog.Logger, sporkID flow.Identifier, inspectorsConfig *GossipSubRPCInspectorsConfig, provider module.IdentityProvider, inspectorMetrics module.GossipSubRpcValidationInspectorMetrics) *GossipSubInspectorBuilder
NewGossipSubInspectorBuilder returns new *GossipSubInspectorBuilder.
func (*GossipSubInspectorBuilder) Build ¶
func (b *GossipSubInspectorBuilder) Build() (p2p.GossipSubInspectorSuite, error)
Build builds the rpc inspectors used by gossipsub. Any returned error from this func indicates a problem setting up rpc inspectors. In libp2p node setup, the returned error should be treated as a fatal error.
func (*GossipSubInspectorBuilder) SetMetrics ¶
func (b *GossipSubInspectorBuilder) SetMetrics(metricsCfg *p2pconfig.MetricsConfig) *GossipSubInspectorBuilder
SetMetrics sets the network metrics and registry.
func (*GossipSubInspectorBuilder) SetNetworkType ¶ added in v0.31.0
func (b *GossipSubInspectorBuilder) SetNetworkType(networkType network.NetworkingType) *GossipSubInspectorBuilder
SetNetworkType sets the network type for the inspector. This is used to determine if the node is running on a public or private network. Args: - networkType: the network type. Returns: - *GossipSubInspectorBuilder: the builder.
type GossipSubRPCInspectorsConfig ¶
type GossipSubRPCInspectorsConfig struct { // GossipSubRPCInspectorNotificationCacheSize size of the queue for notifications about invalid RPC messages. GossipSubRPCInspectorNotificationCacheSize uint32 // ValidationInspectorConfigs control message validation inspector validation configuration and limits. ValidationInspectorConfigs *GossipSubRPCValidationInspectorConfigs // MetricsInspectorConfigs control message metrics inspector configuration. MetricsInspectorConfigs *GossipSubRPCMetricsInspectorConfigs }
GossipSubRPCInspectorsConfig encompasses configuration related to gossipsub RPC message inspectors.
func DefaultGossipSubRPCInspectorsConfig ¶
func DefaultGossipSubRPCInspectorsConfig() *GossipSubRPCInspectorsConfig
DefaultGossipSubRPCInspectorsConfig returns the default control message inspectors config.
type GossipSubRPCMetricsInspectorConfigs ¶
type GossipSubRPCMetricsInspectorConfigs struct { // NumberOfWorkers number of worker pool workers. NumberOfWorkers int // CacheSize size of the queue used by worker pool for the control message metrics inspector. CacheSize uint32 }
GossipSubRPCMetricsInspectorConfigs rpc metrics observer inspector configuration.
type GossipSubRPCValidationInspectorConfigs ¶
type GossipSubRPCValidationInspectorConfigs struct { *validation.ClusterPrefixedMessageConfig // NumberOfWorkers number of worker pool workers. NumberOfWorkers int // CacheSize size of the queue used by worker pool for the control message validation inspector. CacheSize uint32 // GraftLimits GRAFT control message validation limits. GraftLimits map[string]int // PruneLimits PRUNE control message validation limits. PruneLimits map[string]int // IHaveLimitsConfig IHAVE control message validation limits configuration. IHaveLimitsConfig *GossipSubCtrlMsgIhaveLimitsConfig }
GossipSubRPCValidationInspectorConfigs validation limits used for gossipsub RPC control message inspection.