std::unordered_multimap<h256,std::pair<h256,bytes>>m_unknown;///< For blocks that have an unknown parent; we map their parent hash to the block stuff, and insert once the block appears.
h256Hashm_knownBad;///< Set of blocks that we know will never be valid.
std::multimap<unsigned,std::pair<h256,bytes>>m_future;///< Set of blocks that are not yet valid. Ordered by timestamp
Signalm_onReady;///< Called when a subsequent call to import blocks will return a non-empty container. Be nice and exit fast.
Signalm_onRoomAvailable;///< Called when space for new blocks becomes availabe after a drain. Be nice and exit fast.
Signal<>m_onReady;///< Called when a subsequent call to import blocks will return a non-empty container. Be nice and exit fast.
Signal<>m_onRoomAvailable;///< Called when space for new blocks becomes availabe after a drain. Be nice and exit fast.
mutableMutexm_verification;///< Mutex that allows writing to m_verified, m_verifying and m_unverified.
std::condition_variablem_moreToVerify;///< Signaled when m_unverified has a new entry.
// Use a set with dynamic comparator for minmax priority queue. The comparator takes into account min account nonce. Updating it does not affect the order.
Signalm_onReady;///< Called when a subsequent call to import transactions will return a non-empty container. Be nice and exit fast.
Signal<>m_onReady;///< Called when a subsequent call to import transactions will return a non-empty container. Be nice and exit fast.
Signal<ImportResult,h256const&,h512const&>m_onImport;///< Called for each import attempt. Arguments are result, transaction id an node id. Be nice and exit fast.
unsignedm_limit;///< Max number of pending transactions
unsignedm_futureLimit;///< Max number of future transactions
unsignedm_futureSize=0;///< Current number of future transactions
std::condition_variablem_queueReady;///< Signaled when m_unverified has a new entry.