Module agora.consensus.protocol.EnvelopeStore

Contains supporting code for storing the latest SCP envelopes, using SQLite as a backing store.

Example

add & opApply & remove tests

auto envelope_store = new SCPEnvelopeStore(new ManagedDatabase(":memory:"));

SCPEnvelope[] envelopes;

foreach (_; 0 .. 2)
{
    envelopes ~= SCPEnvelope.init;
}

foreach (env; envelopes)
{
    envelope_store.add(env, false);
}

assert(envelope_store.length == 2);

foreach (_, const ref SCPEnvelope env; envelope_store)
{
    assert(env == SCPEnvelope.init);
}

envelope_store.removeAll();
assert(envelope_store.length == 0);

Classes

NameDescription
SCPEnvelopeStore