// Copyright (c) 2019 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef QUICHE_QUIC_CORE_CRYPTO_TLS_CONNECTION_H_ #define QUICHE_QUIC_CORE_CRYPTO_TLS_CONNECTION_H_ #include <vector> #include "absl/strings/string_view.h" #include "openssl/ssl.h" #include "quiche/quic/core/quic_types.h" namespace quic { // TlsConnection wraps BoringSSL's SSL object which represents a single TLS // connection. Callbacks set in BoringSSL which are called with an SSL* argument // will get dispatched to the TlsConnection object owning that SSL. In turn, the // TlsConnection will delegate the implementation of that callback to its // Delegate. // // The owner of the TlsConnection is responsible for driving the TLS handshake // (and other interactions with the SSL*). This class only handles mapping // callbacks to the correct instance. class QUICHE_EXPORT TlsConnection { … }; } // namespace quic #endif // QUICHE_QUIC_CORE_CRYPTO_TLS_CONNECTION_H_