Lines Matching refs:handler
67 uint32_t EventDemultiplexer::UpdateEventHandler(EventHandler* handler)
69 if (handler == nullptr) {
74 auto itor = eventHandlers_.find(handler->GetHandle());
76 eventHandlers_.insert(std::make_pair(handler->GetHandle(), handler->shared_from_this()));
77 return Update(EPOLL_CTL_ADD, handler);
80 if (handler->Events() == EventReactor::NONE_EVENT) {
82 return Update(EPOLL_CTL_DEL, handler);
85 if (handler != itor->second.get()) {
88 return Update(EPOLL_CTL_MOD, handler);
91 uint32_t EventDemultiplexer::Update(int operation, EventHandler* handler)
95 event.events = Reactor2Epoll(handler->Events());
96 event.data.fd = handler->GetHandle();
98 if (epoll_ctl(epollFd_, operation, handler->GetHandle(), &event) != 0) {
100 epollFd_, operation, handler->GetHandle());