// // Created by Tristan Juricek on 10/13/15. // #ifndef FSCLIENT_NOTIFICATION_H #define FSCLIENT_NOTIFICATION_H #include <chrono> #include <string> // We pass these on from FUSE to our internal Workspace manager instance. typedef struct Notification { enum EventType { OPEN, RELEASE, RENAME, MKNOD, WRITE, CREATE, UNLINK }; EventType event; std::chrono::system_clock::time_point time; std::string path; std::string path2; Notification(EventType e, const std::string & p) : event(e), time(std::chrono::system_clock::now()), path(p), path2() {} Notification(EventType e, const std::string & p1, const std::string & p2) : event(e), time(std::chrono::system_clock::now()), path(p1), path2(p2) {} } Notification; #endif //FSCLIENT_NOTIFICATION_H
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#1 | 16236 | tjuricek |
Revise FUSE-client to call p4 reconcile intelligently. This uses the main FUSE callbacks like a loopback with a notification mechanism. After no real disk access after a short period of time (like 500ms) we'll trigger a call to p4 reconcile. The "interface" to this application is currently just a file handle: /.status - Lists "ok" if there's no errors, otherwise, outputs a list of messages |