瀏覽代碼

feat: default refinement auto-span for legacy configs

master
Jan Svabenik 7 小時之前
父節點
當前提交
c9c1a09277
共有 4 個文件被更改,包括 21 次插入3 次删除
  1. +5
    -2
      internal/config/config.go
  2. +3
    -0
      internal/config/config_test.go
  3. +12
    -0
      internal/config/helpers.go
  4. +1
    -1
      internal/pipeline/policy.go

+ 5
- 2
internal/config/config.go 查看文件

@@ -99,7 +99,7 @@ type RefinementConfig struct {
MinCandidateSNRDb float64 `yaml:"min_candidate_snr_db" json:"min_candidate_snr_db"`
MinSpanHz float64 `yaml:"min_span_hz" json:"min_span_hz"`
MaxSpanHz float64 `yaml:"max_span_hz" json:"max_span_hz"`
AutoSpan bool `yaml:"auto_span" json:"auto_span"`
AutoSpan *bool `yaml:"auto_span" json:"auto_span"`
}

type ResourceConfig struct {
@@ -178,7 +178,7 @@ func Default() Config {
MinCandidateSNRDb: 0,
MinSpanHz: 0,
MaxSpanHz: 0,
AutoSpan: true,
AutoSpan: boolPtr(true),
},
Resources: ResourceConfig{
PreferGPU: true,
@@ -364,6 +364,9 @@ func applyDefaults(cfg Config) Config {
if cfg.Refinement.MaxSpanHz > 0 && cfg.Refinement.MinSpanHz > cfg.Refinement.MaxSpanHz {
cfg.Refinement.MaxSpanHz = cfg.Refinement.MinSpanHz
}
if cfg.Refinement.AutoSpan == nil {
cfg.Refinement.AutoSpan = boolPtr(true)
}
if cfg.Resources.MaxRefinementJobs <= 0 {
cfg.Resources.MaxRefinementJobs = cfg.Refinement.MaxConcurrent
}


+ 3
- 0
internal/config/config_test.go 查看文件

@@ -41,6 +41,9 @@ func TestLoadConfig(t *testing.T) {
if !cfg.Refinement.Enabled {
t.Fatalf("refinement default not applied")
}
if cfg.Refinement.AutoSpan == nil || !*cfg.Refinement.AutoSpan {
t.Fatalf("refinement auto_span default not applied")
}
if cfg.EventPath == "" {
t.Fatalf("event path default not applied")
}


+ 12
- 0
internal/config/helpers.go 查看文件

@@ -0,0 +1,12 @@
package config

func BoolValue(v *bool, fallback bool) bool {
if v == nil {
return fallback
}
return *v
}

func boolPtr(v bool) *bool {
return &v
}

+ 1
- 1
internal/pipeline/policy.go 查看文件

@@ -43,7 +43,7 @@ func PolicyFromConfig(cfg config.Config) Policy {
MinCandidateSNRDb: cfg.Refinement.MinCandidateSNRDb,
RefinementMinSpanHz: cfg.Refinement.MinSpanHz,
RefinementMaxSpanHz: cfg.Refinement.MaxSpanHz,
RefinementAutoSpan: cfg.Refinement.AutoSpan,
RefinementAutoSpan: config.BoolValue(cfg.Refinement.AutoSpan, true),
PreferGPU: cfg.Resources.PreferGPU,
}
}


Loading…
取消
儲存