1#ifndef XRPL_APP_MISC_DETAIL_WORKFILE_H_INCLUDED 
    2#define XRPL_APP_MISC_DETAIL_WORKFILE_H_INCLUDED 
    4#include <xrpld/app/misc/detail/Work.h> 
    6#include <xrpl/basics/ByteUtilities.h> 
    7#include <xrpl/basics/FileUtilities.h> 
    8#include <xrpl/beast/utility/instrumentation.h> 
   10#include <boost/asio/bind_executor.hpp> 
   11#include <boost/asio/io_context.hpp> 
   12#include <boost/asio/strand.hpp> 
   33        boost::asio::io_context& ios,
 
   46    boost::asio::io_context& 
ios_;
 
   47    boost::asio::strand<boost::asio::io_context::executor_type> 
strand_;
 
 
   54    boost::asio::io_context& ios,
 
   59    , strand_(
boost::asio::make_strand(ios))
 
 
   72    if (!
strand_.running_in_this_thread())
 
   73        return boost::asio::post(
 
   75            boost::asio::bind_executor(
 
   81    XRPL_ASSERT(
cb_, 
"ripple::detail::WorkFile::run : callback is set");
 
   82    cb_(ec, fileContents);
 
 
boost::system::error_code error_code
 
WorkFile(std::string const &path, boost::asio::io_context &ios, callback_type cb)
 
boost::asio::strand< boost::asio::io_context::executor_type > strand_
 
boost::asio::io_context & ios_
 
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
 
constexpr auto megabytes(T value) noexcept
 
std::error_code make_error_code(ripple::TokenCodecErrc e)
 
std::string getFileContents(boost::system::error_code &ec, boost::filesystem::path const &sourcePath, std::optional< std::size_t > maxSize=std::nullopt)
 
T shared_from_this(T... args)