+int SocketEngine::GetMaxFds()
+{
+#ifdef USE_SELECT
+ return FD_SETSIZE;
+#endif
+#ifdef USE_KQUEUE
+ return MAX_DESCRIPTORS;
+#endif
+#ifdef USE_EPOLL
+ return MAX_DESCRIPTORS;
+#endif
+}
+
+int SocketEngine::GetRemainingFds()
+{
+#ifdef USE_SELECT
+ return FD_SETSIZE - CurrentSetSize;
+#endif
+#ifdef USE_KQUEUE
+ return MAX_DESCRIPTORS - CurrentSetSize;
+#endif
+#ifdef USE_EPOLL
+ return MAX_DESCRIPTORS - CurrentSetSize;
+#endif
+}
+