1 /* 2 * Copyright (c) Facebook, Inc. and its affiliates. 3 * 4 * This source code is licensed under the MIT license found in the 5 * LICENSE file in the root directory of this source tree. 6 * 7 */ 8 9 #pragma once 10 11 #include <memory> 12 13 namespace quic { 14 15 class ClientHandshake; 16 struct QuicClientConnectionState; 17 18 class ClientHandshakeFactory { 19 public: 20 virtual ~ClientHandshakeFactory() = default; 21 22 /** 23 * Construct a new client handshake. 24 */ 25 virtual std::unique_ptr<ClientHandshake> makeClientHandshake( 26 QuicClientConnectionState* conn) && = 0; 27 }; 28 29 } // namespace quic 30