Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( DefaultDiskBaseDir = filepath.Join(basic.HomeDir, "ftp") DefaultMemoryBaseDir = "/dev/shm/dragonfly" )
Functions ¶
func NewDefaultPlugins ¶
func NewDefaultPlugins() map[plugins.PluginType][]*plugins.PluginProperties
NewDefaultPlugins creates plugin instants with default values.
Types ¶
type BaseProperties ¶
type BaseProperties struct { // ListenPort is the port cdn server listens on. // default: 8002 ListenPort int `yaml:"listenPort" mapstructure:"listenPort"` // DownloadPort is the port for download files from cdn. // default: 8001 DownloadPort int `yaml:"downloadPort" mapstructure:"downloadPort"` // SystemReservedBandwidth is the network bandwidth reserved for system software. // default: 20 MB, in format of G(B)/g/M(B)/m/K(B)/k/B, pure number will also be parsed as Byte. SystemReservedBandwidth unit.Bytes `yaml:"systemReservedBandwidth" mapstructure:"systemReservedBandwidth"` // MaxBandwidth is the network bandwidth that cdn system can use. // default: 200 MB, in format of G(B)/g/M(B)/m/K(B)/k/B, pure number will also be parsed as Byte. MaxBandwidth unit.Bytes `yaml:"maxBandwidth" mapstructure:"maxBandwidth"` // AdvertiseIP is used to set the ip that we advertise to other peer in the p2p-network. // By default, the first non-loop address is advertised. AdvertiseIP string `yaml:"advertiseIP" mapstructure:"advertiseIP"` // FailAccessInterval is the interval time after failed to access the URL. // unit: minutes // default: 3 FailAccessInterval time.Duration `yaml:"failAccessInterval" mapstructure:"failAccessInterval"` // gc related // GCInitialDelay is the delay time from the start to the first GC execution. // default: 6s GCInitialDelay time.Duration `yaml:"gcInitialDelay" mapstructure:"gcInitialDelay"` // GCMetaInterval is the interval time to execute GC meta. // default: 2min GCMetaInterval time.Duration `yaml:"gcMetaInterval" mapstructure:"gcMetaInterval"` // TaskExpireTime when a task is not accessed within the taskExpireTime, // and it will be treated to be expired. // default: 3min TaskExpireTime time.Duration `yaml:"taskExpireTime" mapstructure:"taskExpireTime"` // StorageMode disk/hybrid/memory StorageMode string `yaml:"storageMode" mapstructure:"storageMode"` // Log directory LogDir string `yaml:"logDir" mapstructure:"logDir"` // Manager configuration Manager ManagerConfig `yaml:"manager" mapstructure:"manager"` // Host configuration Host HostConfig `yaml:"host" mapstructure:"host"` // Metrics configuration Metrics *RestConfig `yaml:"metrics" mapstructure:"metrics"` }
BaseProperties contains all basic properties of cdn system.
func NewDefaultBaseProperties ¶
func NewDefaultBaseProperties() *BaseProperties
NewDefaultBaseProperties creates an base properties instant with default values.
type Config ¶
type Config struct { base.Options `yaml:",inline" mapstructure:",squash"` *BaseProperties `yaml:"base" mapstructure:"base"` Plugins map[plugins.PluginType][]*plugins.PluginProperties `yaml:"plugins" mapstructure:"plugins"` }
Config contains all configuration of cdn node.
type DriverConfig ¶ added in v2.0.2
type DriverConfig struct {
GCConfig *GCConfig `yaml:"gcConfig"`
}
type GCConfig ¶ added in v2.0.2
type GCConfig struct { YoungGCThreshold unit.Bytes `yaml:"youngGCThreshold"` FullGCThreshold unit.Bytes `yaml:"fullGCThreshold"` CleanRatio int `yaml:"cleanRatio"` IntervalThreshold time.Duration `yaml:"intervalThreshold"` }
GCConfig gc config
type HostConfig ¶
type KeepAliveConfig ¶
type ManagerConfig ¶
type ManagerConfig struct { // NetAddr is manager address. Addr string `yaml:"addr" mapstructure:"addr"` // CDNClusterID is cdn cluster id. CDNClusterID uint `yaml:"cdnClusterID" mapstructure:"cdnClusterID"` // KeepAlive configuration KeepAlive KeepAliveConfig `yaml:"keepAlive" mapstructure:"keepAlive"` }
type RestConfig ¶ added in v2.0.1
type RestConfig struct {
Addr string `yaml:"addr" mapstructure:"addr"`
}
type StorageConfig ¶ added in v2.0.2
Click to show internal directories.
Click to hide internal directories.