20 template <
typename SM>
34 std::unique_ptr<folly::IOBuf> clientHello) = 0;
38 std::unique_ptr<AsyncFizzServerT, folly::DelayedDestruction::Destructor>;
42 const std::shared_ptr<FizzServerContext>& fizzContext,
43 const std::shared_ptr<ServerExtensions>& extensions =
nullptr);
45 virtual void accept(HandshakeCallback* callback);
47 bool good()
const override;
50 bool error()
const override;
61 void close() override;
78 const Buf& hashedContext,
83 const Buf& hashedContext,
92 std::unique_ptr<folly::IOBuf>&& buf,
102 bool closeTransport =
true);
const Cert * getPeerCertificate() const override
HandshakeCallback * handshakeCallback_
const X509 * getSelfCert() const override
std::unique_ptr< X509, X509Deleter > X509UniquePtr
FizzServer< ActionMoveVisitor, SM > fizzServer_
void deliverAllErrors(const folly::AsyncSocketException &ex, bool closeTransport=true)
void setReplaySafetyCallback(folly::AsyncTransport::ReplaySafetyCallback *callback) override
ActionMoveVisitor visitor_
const Cert * getSelfCertificate() const override
AsyncFizzServerT(folly::AsyncTransportWrapper::UniquePtr socket, const std::shared_ptr< FizzServerContext > &fizzContext, const std::shared_ptr< ServerExtensions > &extensions=nullptr)
void writeAppData(folly::AsyncTransportWrapper::WriteCallback *callback, std::unique_ptr< folly::IOBuf > &&buf, folly::WriteFlags flags=folly::WriteFlags::NONE) override
AsyncFizzServerT< SM > & server_
folly::ssl::X509UniquePtr getPeerCert() const override
requires E e noexcept(noexcept(s.error(std::move(e))))
virtual Buf getEarlyEkm(folly::StringPiece label, const Buf &hashedContext, uint16_t length) const
virtual void accept(HandshakeCallback *callback)
const State & getState() const
std::vector< SignatureScheme > getSupportedSigSchemes() const override
virtual void fizzHandshakeSuccess(AsyncFizzServerT *transport) noexcept=0
std::unique_ptr< AsyncTransportWrapper, Destructor > UniquePtr
folly::Optional< CipherSuite > getCipher() const override
void closeWithReset() override
bool isDetachable() const override
std::string getApplicationProtocol() const noexceptoverride
virtual void fizzHandshakeAttemptFallback(std::unique_ptr< folly::IOBuf > clientHello)=0
void transportDataAvailable() override
NetworkSocket socket(int af, int type, int protocol)
void attachEventBase(folly::EventBase *evb) override
bool good() const override
std::shared_ptr< ServerExtensions > extensions_
ActionMoveVisitor(AsyncFizzServerT< SM > &server)
bool readable() const override
std::unique_ptr< AsyncFizzBase, folly::DelayedDestruction::Destructor > UniquePtr
std::unique_ptr< folly::IOBuf > Buf
bool connecting() const override
std::shared_ptr< FizzServerContext > fizzContext_
bool isReplaySafe() const override
bool error() const override
virtual void fizzHandshakeError(AsyncFizzServerT *transport, folly::exception_wrapper ex) noexcept=0
void deliverHandshakeError(folly::exception_wrapper ex)
void transportError(const folly::AsyncSocketException &ex) override
virtual ~HandshakeCallback()=default
Buf getEkm(folly::StringPiece label, const Buf &hashedContext, uint16_t length) const override