/
briw
/
futureTech
Обзор
Документация
Войти
/
briw
/
futureTech
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
node_modules/@parcel/watcher/src/kqueue/KqueueBackend.hh
35 строк
937 B
Briw
Structure
25 окт 2025, 03:14
25 окт 2025, 03:14
0aaa22e
Код
Авторство
О чём код?
#ifndef KQUEUE_H #define KQUEUE_H #include <unordered_map> #include <sys/event.h> #include "../shared/BruteForceBackend.hh" #include "../DirTree.hh" #include "../Signal.hh" struct KqueueSubscription { WatcherRef watcher; std::string path; std::shared_ptr<DirTree> tree; int fd; }; class KqueueBackend : public BruteForceBackend { public: void start() override; ~KqueueBackend(); void subscribe(WatcherRef watcher) override; void unsubscribe(WatcherRef watcher) override; private: int mKqueue; int mPipe[2]; std::unordered_multimap<std::string, KqueueSubscription> mSubscriptions; std::unordered_map<int, DirEntry *> mFdToEntry; Signal mEndedSignal; bool watchDir(WatcherRef watcher, std::string path, std::shared_ptr<DirTree> tree); bool compareDir(int fd, std::string &dir, std::unordered_set<WatcherRef> &watchers); std::vector<KqueueSubscription *> findSubscriptions(std::string &path); }; #endif