예제 #1
0
 OutputIterator(std::string const& tmpDir, bool keepDeadEntries)
     : mFilename(randomBucketName(tmpDir))
     , mBuf(nullptr)
     , mHasher(SHA256::create())
     , mKeepDeadEntries(keepDeadEntries)
 {
     CLOG(TRACE, "Bucket")
         << "Bucket::OutputIterator opening file to write: " << mFilename;
     mOut.open(mFilename);
 }
예제 #2
0
void
genfuzz(std::string const& filename)
{
    Logging::setFmt("<fuzz>");
    size_t n = 8;
    LOG(INFO) << "Writing " << n << "-message random fuzz file " << filename;
    XDROutputFileStream out;
    out.open(filename);
    autocheck::generator<StellarMessage> gen;
    for (size_t i = 0; i < n; ++i)
    {
        try
        {
            StellarMessage m(gen(10));
            out.writeOne(m);
            LOG(INFO) << "Message " << i << ": " << msgSummary(m);
        }
        catch (xdr::xdr_bad_discriminant const&)
        {
            LOG(INFO) << "Message " << i << ": malformed, omitted";
        }
    }
}