1
#include "source/common/quic/quic_client_packet_writer_factory_impl.h"
2

            
3
#include "source/common/network/udp_packet_writer_handler_impl.h"
4
#include "source/common/quic/envoy_quic_packet_writer.h"
5
#include "source/common/quic/envoy_quic_utils.h"
6

            
7
namespace Envoy {
8
namespace Quic {
9

            
10
QuicClientPacketWriterFactory::CreationResult
11
QuicClientPacketWriterFactoryImpl::createSocketAndQuicPacketWriter(
12
    Network::Address::InstanceConstSharedPtr server_addr, quic::QuicNetworkHandle /*network*/,
13
    Network::Address::InstanceConstSharedPtr& local_addr,
14
2974
    const Network::ConnectionSocket::OptionsSharedPtr& options) {
15
2974
  Network::ConnectionSocketPtr connection_socket =
16
2974
      createConnectionSocket(server_addr, local_addr, options);
17
2974
  Network::IoHandle& io_handle = connection_socket->ioHandle();
18
2974
  return {std::make_unique<EnvoyQuicPacketWriter>(
19
2974
              std::make_unique<Network::UdpDefaultWriter>(io_handle)),
20
2974
          std::move(connection_socket)};
21
2974
}
22

            
23
} // namespace Quic
24
} // namespace Envoy