X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;ds=sidebyside;f=include%2Fyazpp%2Fsocket-manager.h;h=96a55437adae0c6c44450844bd6aa464c42ade34;hb=217e153abe5e9c5aae6ef74a839bf01d30e295d3;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..96a5543 100644 --- a/include/yazpp/socket-manager.h +++ b/include/yazpp/socket-manager.h @@ -1,5 +1,5 @@ /* This file is part of the yazpp toolkit. - * Copyright (C) 1998-2012 Index Data and Mike Taylor + * Copyright (C) 1998-2013 Index Data and Mike Taylor * All rights reserved. * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: @@ -29,7 +29,6 @@ #define YAZ_SOCKET_MANAGER_INCLUDED #include -#include struct yaz_poll_fd; namespace yazpp_1 { @@ -40,33 +39,11 @@ 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); - 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); + Rep *m_p; public: /// Add an observer virtual void addObserver(int fd, ISocketObserver *observer); @@ -77,8 +54,7 @@ class YAZ_EXPORT SocketManager : public ISocketObservable { /// Set event mask for observer virtual void maskObserver(ISocketObserver *observer, int mask); /// Set timeout - virtual void timeoutObserver(ISocketObserver *observer, - int timeout); + virtual void timeoutObserver(ISocketObserver *observer, int timeout); /// Process one event. return > 0 if event could be processed; int processEvent(); int getNumberOfObservers();