tiny.zen.SiteCatalogPlan
Defined in tiny.zen.
API (5)
Actions
Public operations.
Fields and members
Public fields and members.
Source
Source: lib/zen/src/site/catalog/plan.zig:52
zig
pub const Plan = struct { pages: usize = 0, text_bytes: usize = 0, pub fn inspect(demand: Demand, limits: Limits) model.Error!Plan { var plan: Plan = .{}; try plan.observe(demand, limits); std.debug.assert(plan.pages == 1); std.debug.assert(plan.text_bytes == try demand.textBytes()); return plan; } pub fn observe(self: *Plan, demand: Demand, limits: Limits) model.Error!void { const next_pages = try added(self.pages, 1); if (next_pages > limits.max_pages) return error.SiteCatalogPageCapacityExceeded; const next_text = try added(self.text_bytes, try demand.textBytes()); if (next_text > limits.max_text_bytes) return error.SiteCatalogTextCapacityExceeded; self.pages = next_pages; self.text_bytes = next_text; std.debug.assert(self.pages <= limits.max_pages); std.debug.assert(self.text_bytes <= limits.max_text_bytes); } pub fn exactLimits(self: Plan) Limits { const limits = Limits{ .max_pages = self.pages, .max_text_bytes = self.text_bytes }; std.debug.assert(limits.max_pages == self.pages); std.debug.assert(limits.max_text_bytes == self.text_bytes); return limits; }};Source: lib/zen/src/root.zig:282
zig
/// Accumulates exact site catalog demand before storage acquisition.pub const SiteCatalogPlan = site_catalog.Plan;Also reachable as
Audit
| Definitions | 4 |
|---|---|
| Public names | 8 |
| Members | 2 |
| Version | 26.7.0 |
| Revision | daab053ee433 |