12 template <
typename ActionMoveVisitor,
typename SM>
14 std::shared_ptr<const FizzClientContext>
context,
15 std::shared_ptr<const CertificateVerifier> verifier,
18 const std::shared_ptr<ClientExtensions>& extensions) {
19 this->addProcessingActions(this->machine_.processConnect(
28 template <
typename ActionMoveVisitor,
typename SM>
30 std::shared_ptr<const FizzClientContext>
context,
32 const auto pskIdentity = hostname;
40 template <
typename ActionMoveVisitor,
typename SM>
45 if (!this->state_.earlyDataParams()) {
46 throw std::runtime_error(
"early ekm not available");
49 this->state_.earlyDataParams()->cipher,
50 this->state_.earlyDataParams()->earlyExporterSecret->coalesce(),
52 context ? context->clone() :
nullptr,
56 template <
typename ActionMoveVisitor,
typename SM>
int connect(NetworkSocket s, const sockaddr *name, socklen_t namelen)
constexpr detail::Map< Move > move
Buf getEarlyEkm(folly::StringPiece label, const Buf &context, uint16_t length) const
void startActions(Actions actions)
void connect(std::shared_ptr< const FizzClientContext > context, std::shared_ptr< const CertificateVerifier > verifier, folly::Optional< std::string > sni, folly::Optional< CachedPsk > cachedPsk, const std::shared_ptr< ClientExtensions > &extensions=nullptr)
std::vector< Action > Actions
Actions actions(Args &&...act)
static Buf getEkm(CipherSuite cipher, folly::ByteRange exporterMaster, folly::StringPiece label, Buf context, uint16_t length)
std::unique_ptr< folly::IOBuf > Buf