![]() |
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.
1.8.11