mirror of
https://github.com/alice-lg/alice-lg.git
synced 2024-05-11 05:55:03 +00:00
sort by prefix for binary search lookup
This commit is contained in:
@ -283,17 +283,25 @@ func parseRoutesDump(bird ClientResponse, config Config) (api.RoutesResponse, er
|
||||
}
|
||||
result.Api = apiStatus
|
||||
|
||||
// Fetch imported routes
|
||||
importedRoutes, ok := bird["imported"].([]interface{})
|
||||
if !ok {
|
||||
return result, fmt.Errorf("Imported routes missing")
|
||||
}
|
||||
result.Imported = parseRoutesData(importedRoutes, config)
|
||||
|
||||
// Sort routes by network for faster querying
|
||||
imported := parseRoutesData(importedRoutes, config)
|
||||
sort.Sort(imported)
|
||||
result.Imported = imported
|
||||
|
||||
// Fetch filtered routes
|
||||
filteredRoutes, ok := bird["filtered"].([]interface{})
|
||||
if !ok {
|
||||
return result, fmt.Errorf("Filtered routes missing")
|
||||
}
|
||||
result.Filtered = parseRoutesData(filteredRoutes, config)
|
||||
filtered := parseRoutesData(filteredRoutes, config)
|
||||
sort.Sort(filtered)
|
||||
result.Filtered = filtered
|
||||
|
||||
return result, nil
|
||||
}
|
||||
|
Reference in New Issue
Block a user