pub struct BlobsSection {
pub max_blob_bytes: Option<u64>,
pub account_quota_bytes: Option<u64>,
pub total_quota_bytes: Option<u64>,
pub collection_grace_secs: Option<u64>,
}Expand description
What one blob, one account’s blobs, and every account’s blobs together may come to.
Reload: needs a restart today. A running quota is enforced against the value the store was built with; there is no seam to adjust it live.
Fields§
§max_blob_bytes: Option<u64>Longest a single blob may be, in bytes. Mirrors --max-blob. The
built-in default is 5 MiB (5_242_880).
Reasonable range: 1_000_000 to account_quota_bytes. 1_000_000
is the largest image app.bsky’s lexicons accept, such as an avatar,
so below it an agent cannot upload one. Above the account quota, no
blob that long can be stored.
account_quota_bytes: Option<u64>What one account’s blobs may come to, in bytes. Mirrors
--blob-quota. The built-in default is 64 MiB (67_108_864).
Reasonable range: max_blob_bytes to total_quota_bytes. Below
max_blob_bytes, an account cannot store one blob of the size it is
allowed. Above the total, one account can fill what every account
shares.
total_quota_bytes: Option<u64>What every account’s blobs may come to together, in bytes. No flag
mirrors this, only this key. An upload past it is refused with
507 StorageFull, naming this total.
Reasonable range: account_quota_bytes to half the data volume.
Below one account’s quota, the total refuses an account the quota it
was promised. Above half, the rest of the volume may not hold what
shares it: the log up to [capacity] log_budget_bytes, two
checkpoints as large as the state while a new one is written, and the
record heap, which grows with every record written. Unset, only each
account’s quota bounds the blobs, and that quota times the number of
accounts can be more than the volume holds.
collection_grace_secs: Option<u64>How long a deleted blob is kept before collection, in seconds.
Named collection_grace to match
didbot_pds::blobs::BlobLimits’s field of the same name on the
branch that adds it, rather than inventing a second name for the
same setting.
Trait Implementations§
Source§impl Clone for BlobsSection
impl Clone for BlobsSection
Source§fn clone(&self) -> BlobsSection
fn clone(&self) -> BlobsSection
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for BlobsSection
impl Debug for BlobsSection
Source§impl Default for BlobsSection
impl Default for BlobsSection
Source§fn default() -> BlobsSection
fn default() -> BlobsSection
Source§impl<'de> Deserialize<'de> for BlobsSection
impl<'de> Deserialize<'de> for BlobsSection
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl PartialEq for BlobsSection
impl PartialEq for BlobsSection
Source§fn eq(&self, other: &BlobsSection) -> bool
fn eq(&self, other: &BlobsSection) -> bool
self and other values to be equal, and is used by ==.