diff options
Diffstat (limited to 'src/LibuvEventPoll.h')
| -rw-r--r-- | src/LibuvEventPoll.h | 51 |
1 files changed, 25 insertions, 26 deletions
diff --git a/src/LibuvEventPoll.h b/src/LibuvEventPoll.h index 69fa6a88..5c56a108 100644 --- a/src/LibuvEventPoll.h +++ b/src/LibuvEventPoll.h @@ -63,7 +63,7 @@ private: friend class AsyncNameResolverEntry<LibuvEventPoll>; friend int accumulateEvent(int events, const KEvent& event); - class KSocketEntry: public SocketEntry<KCommandEvent, KADNSEvent> { + class KSocketEntry : public SocketEntry<KCommandEvent, KADNSEvent> { public: KSocketEntry(sock_t socket); @@ -75,35 +75,35 @@ private: class KPoll { private: - LibuvEventPoll *eventer_; - KSocketEntry *entry_; + LibuvEventPoll* eventer_; + KSocketEntry* entry_; uv_poll_t handle_; - static void poll_callback(uv_poll_t* handle, int status, int events) { + static void poll_callback(uv_poll_t* handle, int status, int events) + { auto poll = static_cast<KPoll*>(handle->data); poll->eventer_->pollCallback(poll, status, events); } - static void close_callback(uv_handle_t* handle) { + static void close_callback(uv_handle_t* handle) + { delete static_cast<KPoll*>(handle->data); } public: inline KPoll(LibuvEventPoll* eventer, KSocketEntry* entry, sock_t sock) - : eventer_(eventer), entry_(entry) + : eventer_(eventer), entry_(entry) { uv_poll_init_socket(eventer->loop_, &handle_, sock); handle_.data = this; } - inline void start() { + inline void start() + { uv_poll_start(&handle_, entry_->getEvents() & IEV_RW, poll_callback); } - inline void stop() { - uv_poll_stop(&handle_); - } - inline void processEvents(int events) { - entry_->processEvents(events); - } - inline void close() { + inline void stop() { uv_poll_stop(&handle_); } + inline void processEvents(int events) { entry_->processEvents(events); } + inline void close() + { stop(); uv_close((uv_handle_t*)&handle_, close_callback); } @@ -128,7 +128,7 @@ private: bool addEvents(sock_t socket, const KEvent& event); bool deleteEvents(sock_t socket, const KEvent& event); - void pollCallback(KPoll *poll, int status, int events); + void pollCallback(KPoll* poll, int status, int events); #ifdef ENABLE_ASYNC_DNS bool addEvents(sock_t socket, Command* command, int events, @@ -147,19 +147,18 @@ public: virtual void poll(const struct timeval& tv) CXX11_OVERRIDE; - virtual bool addEvents(sock_t socket, - Command* command, EventPoll::EventType events) - CXX11_OVERRIDE; - virtual bool deleteEvents(sock_t socket, - Command* command, EventPoll::EventType events) - CXX11_OVERRIDE; + virtual bool addEvents(sock_t socket, Command* command, + EventPoll::EventType events) CXX11_OVERRIDE; + virtual bool deleteEvents(sock_t socket, Command* command, + EventPoll::EventType events) CXX11_OVERRIDE; #ifdef ENABLE_ASYNC_DNS - virtual bool addNameResolver(const std::shared_ptr<AsyncNameResolver>& resolver, - Command* command) CXX11_OVERRIDE; - virtual bool deleteNameResolver( - const std::shared_ptr<AsyncNameResolver>& resolver, Command* command) - CXX11_OVERRIDE; + virtual bool + addNameResolver(const std::shared_ptr<AsyncNameResolver>& resolver, + Command* command) CXX11_OVERRIDE; + virtual bool + deleteNameResolver(const std::shared_ptr<AsyncNameResolver>& resolver, + Command* command) CXX11_OVERRIDE; #endif // ENABLE_ASYNC_DNS static const int IEV_READ = UV_READABLE; |
