31 #ifndef FILEDESCRIPTORMANAGER_H_ 32 #define FILEDESCRIPTORMANAGER_H_ 38 #include <sys/epoll.h> 39 #include <gnutls/gnutls.h> 54 class FileDescriptorManager {
56 FileDescriptorManager();
57 FileDescriptorManager(
const FileDescriptorManager &) =
delete;
58 FileDescriptorManager(FileDescriptorManager &&) noexcept;
59 FileDescriptorManager &operator=(const FileDescriptorManager &) = delete;
60 ~FileDescriptorManager();
63 PFileDescriptor add(
int fileDescriptor);
64 PFileDescriptor add(
int file_descriptor,
int epoll_file_descriptor, uint32_t epoll_events);
66 void close(PFileDescriptor &descriptor);
67 void shutdown(PFileDescriptor &descriptor);
68 PFileDescriptor get(
int fileDescriptor);
69 bool isValid(
int fileDescriptor, int32_t
id);
70 bool isValid(const PFileDescriptor &descriptor);
72 std::unique_lock<std::mutex> getLock();
75 std::unique_ptr<OpaquePointer> opaque_pointer_;
std::atomic_int descriptor
Definition: FileDescriptorManager.h:47
gnutls_session_t tlsSession
Definition: FileDescriptorManager.h:49
Definition: BaseLib.cpp:34
class BaseLib::FileDescriptorManager __attribute__
std::atomic_int epoll_descriptor
Definition: FileDescriptorManager.h:48
std::shared_ptr< FileDescriptor > PFileDescriptor
Definition: FileDescriptorManager.h:52
Definition: FileDescriptorManager.h:45