plebble
evidence_processor.h
Go to the documentation of this file.
1 /*
2 -------------------------------------------------------------------------------
3  PLEBBLE
4 -------------------------------------------------------------------------------
5  Copyright (C) 2019-2020 KATLAS Technology. (http://katlastechnology.com)
6  Copyright (C) 2017-2020 Marcos Mayorga. (mm@mm-studios.com)
7 
8  This file is part of our Plebble(R) Platform.
9 
10  The code below cannot be copied, used for any purpose other than the one
11  agreed and/or distributed without the express permission of
12  KATLAS Technology.
13 -------------------------------------------------------------------------------
14 
15 
16 */
17 
18 #ifndef USGOV_e77c79537cdfb20cdea3f467a071e949c74e12350c287dc0aad2470af4059495
19 #define USGOV_e77c79537cdfb20cdea3f467a071e949c74e12350c287dc0aad2470af4059495
20 
21 #include <us/gov/config.h>
22 #include <us/gov/bgtask.h>
23 #include "calendar.h"
24 
25 namespace us{ namespace gov {
26 namespace engine {
27  using namespace std;
28 
30  typedef bgtask t;
31 
34  void process_evidences(uint64_t maxts);
35  void run();
36  void wait();
38  void onwakeup();
39  virtual void on_block_closure(uint64_t)=0;
40  virtual void exec_evidence(const evidence&)=0;
41  virtual bool ready_for_block_opening(uint64_t) const=0;
42 
44  private:
45  mutable condition_variable cv;
46 
47  #if CFG_LOGS==1
48  public:
49  string logdir;
50  #endif
51  };
52 
53 }
54 }}
55 
56 #endif
57 
58 
59 
us::gov::engine::evidence_processor::exec_evidence
virtual void exec_evidence(const evidence &)=0
us::gov::engine::evidence_processor::on_block_closure
virtual void on_block_closure(uint64_t)=0
us::gov::engine::evidence_processor::evidence_processor
evidence_processor()
us::gov::engine::evidence_processor::run
void run()
us::gov::engine::evidence_processor::~evidence_processor
~evidence_processor()
bgtask.h
us::gov::engine::evidence_processor::cv
condition_variable cv
Definition: evidence_processor.h:45
log_start
#define log_start
Definition: gov.h:85
us
Definition: daemon.h:22
c
us::gov::engine::evidence_processor c
Definition: evidence_processor.cpp:27
us::gov::engine::evidence_processor::process_evidences
void process_evidences(uint64_t maxts)
evidence_processor.h
us::gov::engine::calendar_t
Definition: calendar.h:39
us::gov::engine::evidence_processor::ready_for_block_opening
virtual bool ready_for_block_opening(uint64_t) const =0
us::gov::engine::evidence_processor::t
bgtask t
Definition: evidence_processor.h:30
us::gov::relay::evidence::ts
uint64_t ts
Definition: evidence.h:53
calendar.h
c
Definition: client.cpp:417
us::gov::engine::evidence_processor::wait_new_cycle
void wait_new_cycle()
us::gov::engine
Definition: hmi.h:32
std
Definition: app.h:380
us::gov::engine::evidence_processor
Definition: evidence_processor.h:29
config.h
us::gov::relay::evidence
Definition: evidence.h:31
us::gov::engine::evidence_processor::calendar
calendar_t calendar
Definition: evidence_processor.h:43
gov.h
us::gov::engine::evidence_processor::wait
void wait()
log
#define log
Definition: gov.h:83
us::gov::engine::evidence_processor::onwakeup
void onwakeup()
us::gov::bgtask
Definition: bgtask.h:31