X-Git-Url: http://git.indexdata.com/?p=yazpp-moved-to-github.git;a=blobdiff_plain;f=include%2Fyazpp%2Fsocket-manager.h;fp=include%2Fyazpp%2Fsocket-manager.h;h=87e828d8b3bfe71b3a9fe0f689c358dec20d14d2;hp=ec65c293d451346749c632a4178046480b7dde46;hb=747b7d6d88367280441801e31a8387c4f224dcea;hpb=dd9243da4f0b0732e655d13c41e228f03c73879d 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: