/* * Copyright 2022 Meta * * SPDX-License-Identifier: Apache-2.0 */ #ifndef _THRIFT_SERVER_TFDSERVER_H_ #define _THRIFT_SERVER_TFDSERVER_H_ 1 #include #include #include namespace apache { namespace thrift { namespace transport { class TFDServer : public TServerTransport { public: /** * Constructor. * * @param fd file descriptor of the socket */ TFDServer(int fd); virtual ~TFDServer(); virtual bool isOpen() const override; virtual THRIFT_SOCKET getSocketFD() override; virtual void close() override; virtual void interrupt() override; virtual void interruptChildren() override; protected: TFDServer() : TFDServer(-1){}; virtual std::shared_ptr acceptImpl() override; int fd; std::vector> children; }; } // namespace transport } // namespace thrift } // namespace apache #endif /* _THRIFT_SERVER_TFDSERVER_H_ */