X-Git-Url: http://sru.miketaylor.org.uk/?a=blobdiff_plain;f=include%2Fyazpp%2Fsocket-manager.h;h=87e828d8b3bfe71b3a9fe0f689c358dec20d14d2;hb=747b7d6d88367280441801e31a8387c4f224dcea;hp=ec65c293d451346749c632a4178046480b7dde46;hpb=711105a336b155f2b7f098cf84f2e30952cb8588;p=yazpp-moved-to-github.git diff --git a/include/yazpp/socket-manager.h b/include/yazpp/socket-manager.h index ec65c29..87e828d 100644 --- a/include/yazpp/socket-manager.h +++ b/include/yazpp/socket-manager.h @@ -29,7 +29,6 @@ #define YAZ_SOCKET_MANAGER_INCLUDED #include -#include struct yaz_poll_fd; namespace yazpp_1 { @@ -40,31 +39,16 @@ namespace yazpp_1 { */ class YAZ_EXPORT SocketManager : public ISocketObservable { private: - struct SocketEntry { - ISocketObserver *observer; - int fd; - unsigned mask; - int timeout; - int timeout_this; - time_t last_activity; - SocketEntry *next; - }; - SocketEntry *m_observers; // all registered observers - struct SocketEvent { - ISocketObserver *observer; - int event; - SocketEvent *next; // front in queue - SocketEvent *prev; // back in queue - }; - SocketEvent *m_queue_front; - SocketEvent *m_queue_back; + struct SocketEntry; + struct SocketEvent; + struct Rep; - SocketEntry **lookupObserver - (ISocketObserver *observer); + Rep *m_p; + + SocketEntry **lookupObserver(ISocketObserver *observer); SocketEvent *getEvent(); void putEvent(SocketEvent *event); void removeEvent(ISocketObserver *observer); - int m_log; void inspect_poll_result(int res, struct yaz_poll_fd *fds, int no_fds, int timeout); public: