size_t RpcProtocolInfo::hash_value() const {
    size_t values[] = { Int32Hasher(version), StringHasher(protocol), StringHasher(tokenKind) };
    return CombineHasher(values, sizeof(values) / sizeof(values[0]));
}
size_t RpcAuth::hash_value() const {
    size_t values[] = { Int32Hasher(method), user.hash_value() };
    return CombineHasher(values, sizeof(values) / sizeof(values[0]));
}