+/** A specialisation of the SocketEngine class, designed to use traditional select().
+ */
+class SelectEngine : public SocketEngine
+{
+ fd_set ReadSet, WriteSet, ErrSet;
+ int MaxFD;
+
+public:
+ /** Create a new SelectEngine
+ */
+ SelectEngine();
+ virtual bool AddFd(EventHandler* eh, int event_mask);
+ virtual void DelFd(EventHandler* eh);
+ void OnSetEvent(EventHandler* eh, int, int);
+ virtual int DispatchEvents();
+};
+
+SelectEngine::SelectEngine()