ProtoHandler refactor

This commit is contained in:
netbenix 2021-11-09 18:22:52 +01:00
parent 40e0d99596
commit 150037aa57

View file

@ -46,35 +46,37 @@ func parsePackages(res *proto.SearchResponse, reg Lotus.Registry) []Package{
return packages return packages
} }
func fetchPackages(platform string, architecture []string, query string) []Package{ func fetchPackages(platform string, architecture []string, query string, registry Lotus.Registry) *proto.SearchResponse {
logger := Lotus.DetailedLogger("ProtoHandler", "receiveSearchResponse") logger := Lotus.DetailedLogger("ProtoHandler", "fetchPackages")
regisitries := Lotus.GetRegistries() conn := createConnection(registry.Address)
defer conn.Close()
var packages []Package
for _, reg := range regisitries{
conn := createConnection(reg.Address)
client, ctx, cancel := createRegistryClient(conn) client, ctx, cancel := createRegistryClient(conn)
defer cancel()
res, connErr := client.Search(ctx, &proto.SearchRequest{Platform: platform, Architecture: architecture, Query: query}) res, connErr := client.Search(ctx, &proto.SearchRequest{Platform: platform, Architecture: architecture, Query: query})
if connErr != nil{ if connErr != nil{
logger.Fatal(connErr) logger.Error(connErr)
} }
for _, pkg := range parsePackages(res, reg){ return res
packages = append(packages, pkg)
}
cancel()
conn.Close()
}
return packages
} }
func SearchPackages(platform string, architecture []string, query string) []Package { func SearchPackages(platform string, architecture []string, query string) []Package {
return fetchPackages(platform, architecture, query) registries := Lotus.GetRegistries()
var packages []Package
for _, reg := range registries{
res := fetchPackages(platform, architecture, query, reg)
if res != nil{
for _, pkg := range parsePackages(res, reg){
packages = append(packages, pkg)
}
}
}
return packages
} }