Commit 0276874
Register RateLimitRoute
Summary:
`RateLimitRoute` already existed and worked as an mcrouter route handle; the capability was simply missing from the Carbon-generated `BigCacheRouterInfo` route-handle map.
BigCache therefore could not construct a config that named it: parsing threw `Unknown RouteHandle: RateLimitRoute`, and the uncaught exception in `createRaw()` could crash RevProxy workers.
This diff plugs that registration gap through constrained factory overloads, the `BigCache.idl` opt-in, and regenerated Carbon output. It changes no routing or wire semantics and follows code-before-config ordering, so it is inert on land until a BigCache config activates the route.
`IsRouterInfo<T>` detects at compile time whether `T` exposes `RouteHandleIf`, `RouteHandlePtr`, and `RoutableRequests`.
This change implements concept, which allows the new `RouterInfo` overload, constrained to `IsRouterInfo<T>`, only unwraps `RouterInfo::RouteHandleIf` and delegates to that implementation without duplicating logic.
Reviewed By: lenar-f
Differential Revision: D114367253
fbshipit-source-id: 3a6cf45696a638fc2cce059392418438f20f1dd51 parent 5a73a9b commit 0276874
1 file changed
Lines changed: 19 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
27 | 27 | | |
28 | 28 | | |
29 | 29 | | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
30 | 41 | | |
31 | 42 | | |
32 | 43 | | |
| |||
87 | 98 | | |
88 | 99 | | |
89 | 100 | | |
| 101 | + | |
90 | 102 | | |
91 | 103 | | |
92 | 104 | | |
| |||
107 | 119 | | |
108 | 120 | | |
109 | 121 | | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
110 | 129 | | |
111 | 130 | | |
112 | 131 | | |
0 commit comments