Lines Matching refs:Pollable
32 static struct timespec* calculateTimeout(Pollable::Timestamp deadline,
34 Pollable::Timestamp now = Pollable::Clock::now();
35 if (deadline < Pollable::Timestamp::max()) {
60 void Poller::addPollable(Pollable* pollable) {
61 mPollables.push_back(pollable);
84 std::unordered_map<int, Pollable*> pollables;
88 Pollable::Timestamp deadline = Pollable::Timestamp::max();
89 for (auto& pollable : mPollables) {
91 pollable->getPollData(&fds);
92 Pollable::Timestamp pollableDeadline = pollable->getTimeout();
93 // Create a map from each fd to the pollable
95 pollables[fds[i].fd] = pollable;
120 auto pollable = pollables.find(fd.fd);
121 if (pollable == pollables.end()) {
127 // This pollable has data available for reading
129 if (!pollable->second->onReadAvailable(fd.fd, &status)) {
137 if (!pollable->second->onClose(fd.fd, &status)) {
145 Pollable::Timestamp now = Pollable::Clock::now();
146 for (const auto& pollable : mPollables) {
147 if (pollable->getTimeout() <= now) {
149 if (!pollable->onTimeout(&status)) {