17 namespace extensions {
22 const std::shared_ptr<TokenBindingContext>& tokenBindingContext)
26 std::vector<Extension> serverExtensions;
32 if (negotiatedKeyParam && negotiatedVersion) {
34 negotiatedParams.
version = *negotiatedVersion;
40 return serverExtensions;
56 for (
const auto& pref : tokenBindingContext_->getSupportedVersions()) {
57 if (pref <= clientPref) {
std::vector< Extension > getExtensions(const ClientHello &chlo) override
static const std::string chlo
folly::Optional< T > negotiate(const std::vector< std::vector< T >> &serverPref, const std::vector< T > &clientPref)
constexpr detail::Map< Move > move
folly::Optional< TokenBindingProtocolVersion > negotiateVersion(const TokenBindingProtocolVersion &clientPref)
std::shared_ptr< TokenBindingContext > tokenBindingContext_
TokenBindingProtocolVersion version
constexpr Params params[]
std::vector< Extension > extensions
folly::Optional< TokenBindingKeyParameters > negotiatedKeyParam_
const auto & getNegotiatedKeyParam()
std::vector< TokenBindingKeyParameters > key_parameters_list
TokenBindingProtocolVersion
Extension encodeExtension(const TokenBindingParameters ¶ms)
TokenBindingServerExtension(const std::shared_ptr< TokenBindingContext > &tokenBindingContext)