static EndpointSelectionStrategy sticky(ToLongFunction<? super ClientRequestContext> requestContextHasher) {
        return new StickyEndpointSelectionStrategy(requestContextHasher);
    }
Returns a sticky strategy which uses a user passed {@link ToLongFunction} to compute hashes for
consistent hashing.

<p>This strategy can be useful when all requests that qualify some given criteria must be sent to
the same backend server. A common use case is to send all requests for the same logged-in user to
the same backend, which could have a local cache keyed by user id.

<p>In below example, created strategy will route all {@link HttpRequest} which have the same value for
key "cookie" of its header to the same server:

<pre>{@code
ToLongFunction<ClientRequestContext> hasher = (ClientRequestContext ctx) -> {
    return ((HttpRequest) ctx.request()).headers().get(HttpHeaderNames.COOKIE).hashCode();
};
EndpointSelectionStrategy strategy = EndpointSelectionStrategy.sticky(hasher);
}</pre>

@see #roundRobin()
@see #weightedRoundRobin()
core/src/main/java/com/linecorp/armeria/client/endpoint/EndpointSelectionStrategy.java