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]));
}
Exemple #3
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]));
}