1 /* 2 * Copyright (c) 2018-present, Facebook, Inc. 3 * All rights reserved. 4 * 5 * This source code is licensed under the BSD-style license found in the 6 * LICENSE file in the root directory of this source tree. 7 */ 8 9 #include <fizz/protocol/Params.h> 10 11 namespace fizz { operator ()(const Param & param) const12Event EventVisitor::operator()(const Param& param) const { 13 switch (param.type()) { 14 case Param::Type::ClientHello_E: 15 return ClientHello::event; 16 case Param::Type::ServerHello_E: 17 return ServerHello::event; 18 case Param::Type::EndOfEarlyData_E: 19 return EndOfEarlyData::event; 20 case Param::Type::HelloRetryRequest_E: 21 return HelloRetryRequest::event; 22 case Param::Type::EncryptedExtensions_E: 23 return EncryptedExtensions::event; 24 case Param::Type::CertificateRequest_E: 25 return CertificateRequest::event; 26 case Param::Type::CompressedCertificate_E: 27 return CompressedCertificate::event; 28 case Param::Type::CertificateMsg_E: 29 return CertificateMsg::event; 30 case Param::Type::CertificateVerify_E: 31 return CertificateVerify::event; 32 case Param::Type::Finished_E: 33 return Finished::event; 34 case Param::Type::NewSessionTicket_E: 35 return NewSessionTicket::event; 36 case Param::Type::KeyUpdate_E: 37 return KeyUpdate::event; 38 case Param::Type::Alert_E: 39 return Alert::event; 40 case Param::Type::CloseNotify_E: 41 return CloseNotify::event; 42 case Param::Type::Accept_E: 43 return Accept::event; 44 case Param::Type::Connect_E: 45 return Connect::event; 46 case Param::Type::AppData_E: 47 return AppData::event; 48 case Param::Type::AppWrite_E: 49 return AppWrite::event; 50 case Param::Type::EarlyAppWrite_E: 51 return EarlyAppWrite::event; 52 case Param::Type::WriteNewSessionTicket_E: 53 return WriteNewSessionTicket::event; 54 } 55 folly::assume_unreachable(); 56 } 57 } // namespace fizz 58