| 123456789101112131415161718192021222324252627282930313233 |
- package conf
- import (
- "github.com/golang/protobuf/proto"
- "github.com/v2fly/v2ray-core/v4/app/observatory/burst"
- "github.com/v2fly/v2ray-core/v4/app/observatory"
- "github.com/v2fly/v2ray-core/v4/infra/conf/cfgcommon/duration"
- )
- type ObservatoryConfig struct {
- SubjectSelector []string `json:"subjectSelector"`
- ProbeURL string `json:"probeURL"`
- ProbeInterval duration.Duration `json:"probeInterval"`
- }
- func (o *ObservatoryConfig) Build() (proto.Message, error) {
- return &observatory.Config{SubjectSelector: o.SubjectSelector, ProbeUrl: o.ProbeURL, ProbeInterval: int64(o.ProbeInterval)}, nil
- }
- type BurstObservatoryConfig struct {
- SubjectSelector []string `json:"subjectSelector"`
- // health check settings
- HealthCheck *healthCheckSettings `json:"pingConfig,omitempty"`
- }
- func (b BurstObservatoryConfig) Build() (proto.Message, error) {
- if result, err := b.HealthCheck.Build(); err != nil {
- return &burst.Config{SubjectSelector: b.SubjectSelector, PingConfig: result.(*burst.HealthPingConfig)}, nil
- } else {
- return nil, err
- }
- }
|