Donner SVG 0.8.0-pre
SVG editor and embeddable C⁠+⁠+⁠20 engine.
Loading...
Searching...
No Matches
donner::svg::components::DocumentResourceFamilyBudget Class Reference

Shared live-memory envelope for a root SVG document and all cached subdocuments. More...

#include "donner/svg/components/DocumentResourceFamilyBudget.h"

Classes

struct  Limits
struct  SecurityStats

Public Types

enum class  Kind : std::size_t {
  ParsedPayload ,
  Geometry ,
  ComputedFilter ,
  ComputedStyle ,
  Count
}

Public Member Functions

 DocumentResourceFamilyBudget (Limits limits)
bool canReserve (Kind kind, std::size_t bytes) const
bool reserve (Kind kind, std::size_t bytes)
void release (Kind kind, std::size_t bytes)
std::size_t retainedBytes (Kind kind) const
std::size_t totalRetainedBytes () const
const Limitslimits () const
const SecurityStatssecurityStats () const

Static Public Attributes

static constexpr std::size_t kDefaultMaximumTotalRetainedBytes = 128 * 1024 * 1024

Detailed Description

Shared live-memory envelope for a root SVG document and all cached subdocuments.


Class Documentation

◆ donner::svg::components::DocumentResourceFamilyBudget::Limits

struct donner::svg::components::DocumentResourceFamilyBudget::Limits
Class Members
size_t computedFilterBytes = 64 * 1024 * 1024
size_t computedStyleBytes = 64 * 1024 * 1024
size_t geometryBytes = 64 * 1024 * 1024
size_t maximumTotalRetainedBytes = kDefaultMaximumTotalRetainedBytes
size_t parsedPayloadBytes = 64 * 1024 * 1024

◆ donner::svg::components::DocumentResourceFamilyBudget::SecurityStats

struct donner::svg::components::DocumentResourceFamilyBudget::SecurityStats
Class Members
bool rejected = false
size_t rejectedReservations = 0
array< size_t, static_cast< size_t >(Count)> retainedBytes {}
size_t totalRetainedBytes = 0

The documentation for this class was generated from the following file: