config

package
v0.2.4-beta.0 Latest Latest
Warning

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

Go to latest
Published: Oct 18, 2021 License: MIT Imports: 2 Imported by: 0

Documentation

Overview

Package config defines configuration used in the p2p package

Index

Constants

View Source
const (
	// P2PDirectoryPath is the name of the directory where we store p2p stuff.
	P2PDirectoryPath = "p2p"
	// NodeDataFileName is the name of the file we store the the p2p identity keys.
	NodeDataFileName = "id.json"
	// NodesDirectoryName is the name of the directory we store nodes identities under.
	NodesDirectoryName = "nodes"
	// UnlimitedMsgSize is a constant used to check whether message size is set to unlimited size.
	UnlimitedMsgSize = 0
)
View Source
const (
	ClientVersion    = "go-spacemesh/0.0.2"
	MinClientVersion = "0.0.2"
)

params are non-configurable (hard-coded) consts. To create a configurable param use Config. add all node params here (non-configurable consts) - ideally most node params should be configurable.

View Source
const (
	MainNet = iota
	TestNet
)

NetworkID represents the network that the node lives in that indicates what nodes it can communicate with, and which bootstrap nodes to use.

Variables

View Source
var (
	Values = DefaultConfig()
)

Values specifies default values for node config params.

Functions

This section is empty.

Types

type Config

type Config struct {
	TCPPort               int           `mapstructure:"tcp-port"`
	TCPInterface          string        `mapstructure:"tcp-interface"`
	AcquirePort           bool          `mapstructure:"acquire-port"`
	NodeID                string        `mapstructure:"node-id"`
	DialTimeout           time.Duration `mapstructure:"dial-timeout"`
	ConnKeepAlive         time.Duration `mapstructure:"conn-keepalive"`
	NetworkID             uint32        `mapstructure:"network-id"`
	ResponseTimeout       time.Duration `mapstructure:"response-timeout"`
	SessionTimeout        time.Duration `mapstructure:"session-timeout"`
	MaxPendingConnections int           `mapstructure:"max-pending-connections"`
	OutboundPeersTarget   int           `mapstructure:"outbound-target"`
	MaxInboundPeers       int           `mapstructure:"max-inbound"`
	SwarmConfig           SwarmConfig   `mapstructure:"swarm"`
	BufferSize            int           `mapstructure:"buffer-size"`
	MsgSizeLimit          int           `mapstructure:"msg-size-limit"` // in bytes
}

Config defines the configuration options for the Spacemesh peer-to-peer networking layer.

func DefaultConfig

func DefaultConfig() Config

DefaultConfig defines the default p2p configuration.

func DefaultTestConfig

func DefaultTestConfig() Config

DefaultTestConfig returns the default config for tests.

type SwarmConfig

type SwarmConfig struct {
	Gossip                 bool     `mapstructure:"gossip"`
	Bootstrap              bool     `mapstructure:"bootstrap"`
	RoutingTableBucketSize int      `mapstructure:"bucketsize"`
	RoutingTableAlpha      int      `mapstructure:"alpha"`
	RandomConnections      int      `mapstructure:"randcon"`
	BootstrapNodes         []string `mapstructure:"bootnodes"`
	PeersFile              string   `mapstructure:"peers-file"`
}

SwarmConfig specifies swarm config params.

Jump to

Keyboard shortcuts

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