size_t RpcChannelKey::hash_value() const { size_t tokenHash = token ? token->hash_value() : 0; size_t values[] = { auth.hash_value(), protocol.hash_value(), server.hash_value(), conf.hash_value(), tokenHash }; return CombineHasher(values, sizeof(values) / sizeof(values[0])); }
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 Token::hash_value() const { size_t values[] = { StringHasher(identifier), StringHasher(password), StringHasher(kind), StringHasher(service) }; 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])); }