This is the advanced version of static exclude flags which allows you to specify static exclude combinations in the profile. The advantage of static exclude flags is that we can use the knowledge in the pre-processing to generate data structures that will give you the same performance, whether you use exclude flags or not.
If a query uses a exclude combination that was not specified in the profile, we can fallback to a dynamic routing algorithm automatically. One example of such an algorithm is Dijkstra's algorithm, but this ticket is only supposed to track the API feature implementation, not the routing side to make it fast.
API Changes
HTTP/node
exclude Now accepts all classes in any combination.
Implementation Changes
On HTTP query check if the selected algorithm has support for dynamic exclude flags.
This is the advanced version of static exclude flags which allows you to specify static exclude combinations in the profile. The advantage of static exclude flags is that we can use the knowledge in the pre-processing to generate data structures that will give you the same performance, whether you use exclude flags or not.
If a query uses a exclude combination that was not specified in the profile, we can fallback to a dynamic routing algorithm automatically. One example of such an algorithm is Dijkstra's algorithm, but this ticket is only supposed to track the API feature implementation, not the routing side to make it fast.
API Changes
HTTP/node
exclude
Now accepts all classes in any combination.Implementation Changes
Datafacade