chore: decrease DomainTrie's memory use

This commit is contained in:
wwqgtxx
2022-11-30 18:50:46 +08:00
parent 1d9e320087
commit 84caee94af
6 changed files with 58 additions and 12 deletions

View File

@ -972,6 +972,7 @@ func parseHosts(cfg *RawConfig) (*trie.DomainTrie[netip.Addr], error) {
_ = tree.Insert(domain, ip)
}
}
tree.FinishInsert()
return tree, nil
}
@ -1206,6 +1207,7 @@ func parseDNS(rawCfg *RawConfig, hosts *trie.DomainTrie[netip.Addr], rules []C.R
for _, domain := range cfg.FakeIPFilter {
_ = host.Insert(domain, struct{}{})
}
host.FinishInsert()
}
if len(dnsCfg.Fallback) != 0 {
@ -1218,6 +1220,7 @@ func parseDNS(rawCfg *RawConfig, hosts *trie.DomainTrie[netip.Addr], rules []C.R
}
_ = host.Insert(fb.Addr, struct{}{})
}
host.FinishInsert()
}
pool, err := fakeip.New(fakeip.Options{
@ -1393,6 +1396,7 @@ func parseSniffer(snifferRaw RawSniffer) (*Sniffer, error) {
return nil, fmt.Errorf("error domian[%s] in force-domain, error:%v", domain, err)
}
}
sniffer.ForceDomain.FinishInsert()
sniffer.SkipDomain = trie.New[struct{}]()
for _, domain := range snifferRaw.SkipDomain {
@ -1401,6 +1405,7 @@ func parseSniffer(snifferRaw RawSniffer) (*Sniffer, error) {
return nil, fmt.Errorf("error domian[%s] in force-domain, error:%v", domain, err)
}
}
sniffer.SkipDomain.FinishInsert()
return sniffer, nil
}