// This class is only used to provide extra context during certificate validation. As such it does
const Network::TransportSocketOptionsConstSharedPtr& transportSocketOptions() const override {
absl::string_view EnvoyQuicClientSession::requestedServerName() const { return server_id().host(); }
streamInfo().upstreamInfo()->upstreamTiming().onUpstreamConnectStart(dispatcher_.timeSource());
// Start version negotiation and crypto handshake during which the connection may fail if server
quic_stat_names_.chargeQuicConnectionCloseStats(stats_scope_, frame.quic_error_code, source,
return std::make_unique<EnvoyQuicClientStream>(GetNextOutgoingBidirectionalStreamId(), this,
quic::QuicSpdyStream* EnvoyQuicClientSession::CreateIncomingStream(quic::QuicStreamId /*id*/) {
manager.max_outgoing_bidirectional_streams() - manager.outgoing_bidirectional_stream_count();
streamInfo().upstreamInfo()->upstreamTiming().onUpstreamConnectComplete(dispatcher_.timeSource());
std::unique_ptr<quic::QuicCryptoClientStreamBase> EnvoyQuicClientSession::CreateQuicCryptoStream() {
void EnvoyQuicClientSession::registerNetworkObserver(EnvoyQuicNetworkObserverRegistry& registry) {
network_connectivity_observer_ = std::make_unique<QuicNetworkConnectivityObserverImpl>(*this);