LedgerHistory::LedgerHistory ()
    : m_ledgers_by_hash ("LedgerCache", CACHED_LEDGER_NUM, CACHED_LEDGER_AGE,
        get_seconds_clock (), LogPartition::getJournal <TaggedCacheLog> ())
    , m_consensus_validated ("ConsensusValidated", 64, 300,
        get_seconds_clock (), LogPartition::getJournal <TaggedCacheLog> ())
{
}
Beispiel #2
0
LedgerHistory::LedgerHistory (
    beast::insight::Collector::ptr const& collector)
    : collector_ (collector)
    , mismatch_counter_ (collector->make_counter ("ledger.history", "mismatch"))
    , m_ledgers_by_hash ("LedgerCache", CACHED_LEDGER_NUM, CACHED_LEDGER_AGE,
        get_seconds_clock (), deprecatedLogs().journal("TaggedCache"))
    , m_consensus_validated ("ConsensusValidated", 64, 300,
        get_seconds_clock (), deprecatedLogs().journal("TaggedCache"))
{
}
Beispiel #3
0
 ManagerImp (insight::Collector::ptr const& collector,
     Journal journal)
     : Thread ("Resource::Manager")
     , m_journal (journal)
     , m_logic (collector, get_seconds_clock (), journal)
 {
     startThread ();
 }
Beispiel #4
0
namespace ripple {

// VFALCO TODO Remove this global and make it a member of the App
//             Use a dependency injection to give AcceptedLedger access.
//
TaggedCache <uint256, AcceptedLedger> AcceptedLedger::s_cache (
    "AcceptedLedger", 4, 60, get_seconds_clock (),
        deprecatedLogs().journal("TaggedCache"));

AcceptedLedger::AcceptedLedger (Ledger::ref ledger) : mLedger (ledger)
{
    SHAMap& txSet = *ledger->peekTransactionMap ();

    for (SHAMapItem::pointer item = txSet.peekFirstItem (); item;
         item = txSet.peekNextItem (item->getTag ()))
    {
        SerializerIterator sit (item->peekSerializer ());
        insert (std::make_shared<AcceptedLedgerTx> (ledger, std::ref (sit)));
    }
}

AcceptedLedger::pointer AcceptedLedger::makeAcceptedLedger (Ledger::ref ledger)
{
    AcceptedLedger::pointer ret = s_cache.fetch (ledger->getHash ());

    if (ret)
        return ret;

    ret = AcceptedLedger::pointer (new AcceptedLedger (ledger));
    s_cache.canonicalize (ledger->getHash (), ret);
    return ret;
}

void AcceptedLedger::insert (AcceptedLedgerTx::ref at)
{
    assert (mMap.find (at->getIndex ()) == mMap.end ());
    mMap.insert (std::make_pair (at->getIndex (), at));
}

AcceptedLedgerTx::pointer AcceptedLedger::getTxn (int i) const
{
    map_t::const_iterator it = mMap.find (i);

    if (it == mMap.end ())
        return AcceptedLedgerTx::pointer ();

    return it->second;
}

} // ripple
 void
 test_aged_insert()
 {
     testcase ("aged insert");
     std::random_device rng;
     std::mt19937_64 gen {rng()};
     Table table (get_seconds_clock());
     for (int i = 0; i < 10000; ++i)
     {
         std::array <std::uint8_t, RippleLedgerHash::size> buf;
         fillrand (buf.data(), buf.size(), gen);
         RippleLedgerHash h (buf.data(), buf.data() + buf.size());
         table.insert (std::make_pair (h, Entry()));
     }
     pass();
 }
OverlayImpl::OverlayImpl (Stoppable& parent,
    Resource::Manager& resourceManager,
    SiteFiles::Manager& siteFiles,
    beast::File const& pathToDbFileOrDirectory,
    Resolver& resolver,
    boost::asio::io_service& io_service,
    boost::asio::ssl::context& ssl_context)
    : Overlay (parent)
    , m_child_count (1)
    , m_journal (LogPartition::getJournal <PeersLog> ())
    , m_resourceManager (resourceManager)
    , m_peerFinder (add (PeerFinder::Manager::New (
        *this,
        siteFiles,
        pathToDbFileOrDirectory,
        *this,
        get_seconds_clock (),
        LogPartition::getJournal <PeerFinderLog> ())))
    , m_io_service (io_service)
    , m_ssl_context (ssl_context)
    , m_resolver (resolver)
{
}
Beispiel #7
0
OverlayImpl::OverlayImpl (
    Setup const& setup,
    Stoppable& parent,
    ServerHandler& serverHandler,
    Resource::Manager& resourceManager,
    Resolver& resolver,
    boost::asio::io_service& io_service,
    BasicConfig const& config)
    : Overlay (parent)
    , io_service_ (io_service)
    , work_ (boost::in_place(std::ref(io_service_)))
    , strand_ (io_service_)
    , setup_(setup)
    , journal_ (deprecatedLogs().journal("Overlay"))
    , serverHandler_(serverHandler)
    , m_resourceManager (resourceManager)
    , m_peerFinder (PeerFinder::make_Manager (*this, io_service,
        get_seconds_clock(), deprecatedLogs().journal("PeerFinder"), config))
    , m_resolver (resolver)
    , next_id_(1)
    , timer_count_(0)
{
    beast::PropertyStream::Source::add (m_peerFinder.get());
}
Beispiel #8
0
    THE  SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
    WITH  REGARD  TO  THIS  SOFTWARE  INCLUDING  ALL  IMPLIED  WARRANTIES  OF
    MERCHANTABILITY  AND  FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
    ANY  SPECIAL ,  DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
    WHATSOEVER  RESULTING  FROM  LOSS  OF USE, DATA OR PROFITS, WHETHER IN AN
    ACTION  OF  CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
//==============================================================================

// VFALCO TODO Remove this global and make it a member of the App
//             Use a dependency injection to give AcceptedLedger access.
//
TaggedCache <uint256, AcceptedLedger> AcceptedLedger::s_cache (
    "AcceptedLedger", 4, 60, get_seconds_clock (),
        LogPartition::getJournal <TaggedCacheLog> ());

AcceptedLedger::AcceptedLedger (Ledger::ref ledger) : mLedger (ledger)
{
    SHAMap& txSet = *ledger->peekTransactionMap ();

    for (SHAMapItem::pointer item = txSet.peekFirstItem (); !!item; item = txSet.peekNextItem (item->getTag ()))
    {
        SerializerIterator sit (item->peekSerializer ());
        insert (boost::make_shared<AcceptedLedgerTx> (ledger->getLedgerSeq (), boost::ref (sit)));
    }
}

AcceptedLedger::pointer AcceptedLedger::makeAcceptedLedger (Ledger::ref ledger)
{
Beispiel #9
0
TransactionMaster::TransactionMaster ()
    : mCache ("TransactionCache", 65536, 1800, get_seconds_clock (),
        deprecatedLogs().journal("TaggedCache"))
{
}
transactionmaster::transactionmaster ()
    : mcache ("transactioncache", 65536, 1800, get_seconds_clock (),
        deprecatedlogs().journal("taggedcache"))
{
}
Beispiel #11
0
Logic::Logic (Store& store, beast::Journal journal)
    : /*store_ (store)
    , */journal_ (journal)
    , ledgers_(get_seconds_clock())
{
}