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
Name | Description |
---|---|
SCPEnvelopeStore
|