ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/repos/Spectre2/Daemon.hpp
(Generate patch)

Comparing Spectre2/Daemon.hpp (file contents):
Revision 429 by douglas, 2005-03-25T18:47:25-08:00 vs.
Revision 431 by douglas, 2005-03-26T22:35:26-08:00

# Line 7 | Line 7
7   #ifndef _Daemon_hpp_
8   #define _Daemon_hpp_
9  
10 < #include "Share.hpp"
10 > #include "Spectre2.hpp"
11  
12   #ifndef MENES_PRAGMA_ONCE
13   #pragma once
# Line 17 | Line 17
17   #include <menes-etl/fnbind.hpp>
18   #include <menes-ext/threadset.hpp>
19  
20 + class Share;
21 +
22   class Daemon
23   {
24   private:
23 #ifdef __FreeBSD__
24        static ext::String secret;
25 #endif
25          const api::Path& config;
27        ext::RedBlackSet<Share> shares;
26          bool running, loaded;
27 +        unsigned interval/*, count*/;
28          _H<api::Thread> thread;
29          int loop();
30          void load();
31          template <typename Worker>
32                  int work();
33 +        template <typename Worker>
34 +                int work_(const Share& share);
35 +        void sleep();
36   public:
37 <        Daemon(const ext::String& config) : config(config), running(true), loaded(false), thread(new api::Thread(etl::BindAll(&Daemon::loop, this))) {}
37 >        Daemon(const api::Path& config) : config(config), running(true), loaded(false), interval(60), count(0), thread(new api::Thread(etl::BindAll(&Daemon::loop, this))) {}
38          ~Daemon();
39 +        static ext::RedBlackSet<Share> shares;
40 + //      static api::ThreadMutex smbcLock;
41 + #ifdef __FreeBSD__
42 +        static ext::String secret;
43 + #endif
44          void reload() { loaded = false; }
45          void stop() { running = false; }
46   };

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines