Fabcoin Core
0.16.2
P2P Digital Currency
|
#include <EthashAux.h>
Classes | |
struct | FullAllocation |
struct | LightAllocation |
Public Types | |
using | LightType = std::shared_ptr< LightAllocation > |
using | FullType = std::shared_ptr< FullAllocation > |
Public Member Functions | |
~EthashAux () | |
Static Public Member Functions | |
static EthashAux * | get () |
static h256 | seedHash (unsigned _number) |
static uint64_t | number (h256 const &_seedHash) |
static uint64_t | cacheSize (BlockHeader const &_header) |
static uint64_t | dataSize (uint64_t _blockNumber) |
static LightType | light (h256 const &_seedHash) |
static unsigned | computeFull (h256 const &_seedHash, bool _createIfMissing=true) |
Kicks off generation of DAG for _seedHash and. More... | |
static std::pair< uint64_t, unsigned > | fullGeneratingProgress () |
Information on the generation progress. More... | |
static FullType | full (h256 const &_seedHash, bool _createIfMissing=false, std::function< int(unsigned)> const &_f=std::function< int(unsigned)>()) |
Kicks off generation of DAG for _blocknumber and blocks until ready;. More... | |
static EthashProofOfWork::Result | eval (h256 const &_seedHash, h256 const &_headerHash, Nonce const &_nonce) |
Static Public Attributes | |
static const uint64_t | NotGenerating = (uint64_t)-1 |
Private Member Functions | |
EthashAux () | |
void | killCache (h256 const &_s) |
Kicks off generation of DAG for _blocknumber and blocks until ready;. More... | |
Private Attributes | |
SharedMutex | x_lights |
std::unordered_map< h256, std::shared_ptr< LightAllocation > > | m_lights |
Mutex | x_fulls |
std::condition_variable | m_fullsChanged |
std::unordered_map< h256, std::weak_ptr< FullAllocation > > | m_fulls |
FullType | m_lastUsedFull |
std::unique_ptr< std::thread > | m_fullGenerator |
uint64_t | m_generatingFullNumber = NotGenerating |
unsigned | m_fullProgress |
Mutex | x_epochs |
std::unordered_map< h256, unsigned > | m_epochs |
h256s | m_seedHashes |
Static Private Attributes | |
static EthashAux * | s_this = nullptr |
Definition at line 40 of file EthashAux.h.
using dev::eth::EthashAux::FullType = std::shared_ptr<FullAllocation> |
Definition at line 68 of file EthashAux.h.
using dev::eth::EthashAux::LightType = std::shared_ptr<LightAllocation> |
Definition at line 67 of file EthashAux.h.
EthashAux::~EthashAux | ( | ) |
Definition at line 47 of file EthashAux.cpp.
|
inlineprivate |
Definition at line 88 of file EthashAux.h.
|
static |
|
static |
Kicks off generation of DAG for _seedHash and.
Definition at line 202 of file EthashAux.cpp.
|
static |
|
static |
Definition at line 250 of file EthashAux.cpp.
|
static |
Kicks off generation of DAG for _blocknumber and blocks until ready;.
Definition at line 176 of file EthashAux.cpp.
|
inlinestatic |
Information on the generation progress.
Definition at line 81 of file EthashAux.h.
|
static |
Definition at line 51 of file EthashAux.cpp.
|
private |
Kicks off generation of DAG for _blocknumber and blocks until ready;.
Definition at line 113 of file EthashAux.cpp.
|
static |
Definition at line 119 of file EthashAux.cpp.
|
static |
|
static |
|
private |
Definition at line 108 of file EthashAux.h.
|
private |
Definition at line 103 of file EthashAux.h.
|
private |
Definition at line 105 of file EthashAux.h.
|
private |
Definition at line 101 of file EthashAux.h.
|
private |
Definition at line 100 of file EthashAux.h.
|
private |
Definition at line 104 of file EthashAux.h.
|
private |
Definition at line 102 of file EthashAux.h.
|
private |
Definition at line 97 of file EthashAux.h.
|
private |
Definition at line 109 of file EthashAux.h.
|
static |
Definition at line 77 of file EthashAux.h.
Definition at line 94 of file EthashAux.h.
|
private |
Definition at line 107 of file EthashAux.h.
|
private |
Definition at line 99 of file EthashAux.h.
|
private |
Definition at line 96 of file EthashAux.h.