envoyproxy/envoy

Clarify StreamInfo::route API

Open

#10.972 aperta il 28 apr 2020

Vedi su GitHub
 (1 commento) (0 reazioni) (0 assegnatari)C++ (5373 fork)batch import
area/httphelp wantedtech debt

Metriche repository

Star
 (27.997 star)
Metriche merge PR
 (Merge medio 8g) (378 PR mergiate in 30 g)

Descrizione

Currently StreamInfo::route overloads two concepts: looking up the route and re-resolving the route. We should consider splitting this into

RouteConstSharedPtr route() const;
RouteConstSharedPtr resolveRoute();

to distinguish between a lookup and an intentional re-resolution of the route. route() would still have to resolve the route in case it hasn't been resolved, but at the very least this simplifies

callbacks_.clearRouteCache();
auto route = callbacks_.route();
// Act on route.

into

auto route = callbacks_.resolveRoute();
// Act on route.

and the semantics of the two functions are more obvious at a glance.

Guida contributor