Go to the documentation of this file.
   17 #ifndef USGOV_5be98661b464a5d857a59dc71f31d27ce8d4c8f8f678e03cca8653a2a3372b9f 
   18 #define USGOV_5be98661b464a5d857a59dc71f31d27ce8d4c8f8f678e03cca8653a2a3372b9f 
   22 #include <unordered_map> 
   33 namespace us { 
namespace gov {
 
   36     using socket::datagram;
 
   38     using crypto::ripemd160;
 
   51         void hash_data(
ripemd160&) 
const override;
 
   52         void dump(ostream&) 
const;
 
   53         void to_stream(ostream&) 
const override;
 
   57         void save(ostream&) 
const;
 
   62     struct pow_t final:map<pubkey_t::hash_t, uint64_t> {
 
   64         void dump(ostream&os) 
const;
 
   67     struct diff final: map<int,app::delta*> {
 
   68         typedef map<int,app::delta*> 
b;
 
   74         ~diff() { 
for (
auto& i:*
this) 
delete i.second; }
 
   86         mutable bool h{
false};
 
  
 
uint64_t id
Definition: diff.h:59
static delta * create(int id)
crypto::ec::keys keys
Definition: diff.h:39
pubkey_t pubkey
Definition: signed_data.h:51
local_deltas()
Definition: diff.h:47
pow_t proof_of_work
Definition: diff.h:90
void hash_data(ripemd160 &) const override
Definition: diff.cpp:43
virtual void to_stream(ostream &) const
void save(ostream &) const
Definition: diff.cpp:90
hasher_t::value_type hash_t
Definition: app.h:55
static local_delta * create_prev(int appid, istream &)
void dump(ostream &) const
void write(const unsigned char *data, size_t len)
us::gov::engine::diff c
Definition: diff.cpp:29
relay::peer_t peer_t
Definition: daemon.h:31
Definition: ripemd160.h:38
#define unlikely(x)
Definition: likely.h:30
diff()
Definition: diff.h:72
mutex mx_proof_of_work
Definition: diff.h:91
app::hash_t hash_t
Definition: diff.h:70
static constexpr char streams_version
Definition: diff.h:44
const hash_t & hash() const
static delta * create_prev(int id, istream &)
static hash_t hash(const string &)
map< int, app::delta * > b
Definition: diff.h:68
uint64_t add(int appid, app::local_delta *g)
local_deltas(const local_deltas &other)=delete
diff(const diff &)=delete
hash_t hash_cached
Definition: diff.h:85
void to_stream(ostream &) const override
Definition: diff.cpp:65
mutex mx
Definition: diff.h:89
hash_t prev
Definition: diff.h:87
virtual ~local_deltas()
Definition: diff.cpp:31
string signature
Definition: signed_data.h:52
ripemd160 hasher_t
Definition: app.h:54
Definition: ripemd160.h:34
void dump(ostream &) const
Definition: diff.cpp:51
~diff()
Definition: diff.h:74
Definition: client.cpp:417
Definition: signed_data.h:29
static local_delta * create(int id)
static void version(ostream &os)
Definition: vcs.h:36
app::hasher_t hasher_t
Definition: diff.h:69
uint64_t sum() const
Definition: diff.cpp:339
static void from_stream_prev(signed_data &, istream &)
static local_deltas * load(istream &is)
Definition: diff.cpp:76
uint64_t id
Definition: diff.h:88
void dump(ostream &os) const
Definition: diff.cpp:347
const hash_t & hash() const
Definition: ec.cpp:105
static diff * create(istream &)
void to_stream(ostream &) const
diff base
Definition: diff.h:94
void write(const vector< unsigned char > &)
static local_deltas * from_stream_prev(istream &)
Definition: diff.cpp:130
static local_deltas * from_stream(istream &)
Definition: diff.cpp:95
pubkey_t::hash_t pubkeyh_t
Definition: diff.h:41
static void from_stream(signed_data &, istream &)
keys::pub_t pubkey_t
Definition: diff.h:40
#define log
Definition: gov.h:83
void hash_data_to_sign(crypto::ec::sigmsg_hasher_t &) const override
Definition: diff.cpp:35