43void log_response_and_memory_size(
const std::string &caller_id, libdap::DDS *
const *dds);
45void log_response_and_memory_size(
const std::string &caller_id, libdap::DMR &dmr);
46void log_response_and_memory_size(
const std::string &caller_id, libdap::XMLWriter &dmrpp_writer);
48void throw_for_dap4_typed_attrs(libdap::DAS *das,
const std::string &file,
unsigned int line);
49void throw_for_dap4_typed_vars_or_attrs(libdap::DDS *dds,
const std::string &file,
unsigned int line);
51uint64_t compute_response_size_and_inv_big_vars(
const libdap::Constructor *ctr, uint64_t max_var_size, std::vector<std::string> &too_big);
52uint64_t compute_response_size_and_inv_big_vars(
const libdap::D4Group *grp, uint64_t max_var_size, std::vector<std::string> &too_big);
53uint64_t compute_response_size_and_inv_big_vars(libdap::DMR &dmr, uint64_t max_var_size, std::vector<std::string> &too_big);
55void get_max_sizes_bytes(uint64_t &max_response_size_bytes, uint64_t &max_var_size_bytes,
bool is_dap2=
false);
57void throw_if_too_big(libdap::DMR &dmr,
const std::string &file,
unsigned int line);
58void throw_if_too_big(
const libdap::DDS &dds,
const std::string &file,
unsigned int line);