ecluse
Safe HaskellNone
LanguageGHC2021

Ecluse.Composition.MemoryPlan.Types

Description

The memory plan's public vocabulary: the resolved plan and the tenants that carry a shape of their own. resolveMemoryPlan solves for these, and the composition root builds every byte-valued bound from them.

Synopsis

Documentation

data MemoryPlan Source #

The resolved plan: every byte-valued bound the composition root builds with, each an explicit config value or its tenant-derived default. Override violations are the one refusal.

Constructors

MemoryPlan 

Fields

Instances

Instances details
Show MemoryPlan Source # 
Instance details

Defined in Ecluse.Composition.MemoryPlan.Types

Eq MemoryPlan Source # 
Instance details

Defined in Ecluse.Composition.MemoryPlan.Types

newtype PublishTenant Source #

The publish tenant: the aggregate byte-admission for concurrently buffered bodies.

Constructors

PublishTenant 

newtype MirrorArtifactTenant Source #

The mirror-artifact tenant, present only when some mount mirrors. The plan charges its heap as matMaxBytes scaled by mirrorArtifactEnvelopeMultiplier.

Constructors

MirrorArtifactTenant 

Fields

  • matMaxBytes :: Int

    The worker's per-artifact fetch byte cap (the tarball bound B).

data QueueTenantDemand Source #

Whether the memory plan owes the in-memory queue a tenant, projected from the backend selection (planMirrorRuntime).

Constructors

NoQueueTenant

No mount mirrors: no queue tenant, no enqueue buffer.

MirroringWithoutMemoryQueue

Mirroring rides a durable backend, so the plan charges the enqueue buffer alone.

MemoryQueueTenant

Mirroring rides the in-memory queue: its depth is a tenant of this plan.

queueTenantDemand :: MirrorRuntimePlan -> QueueTenantDemand Source #

Project the queue-tenant demand from the resolved mirror runtime plan.

data TransientBudget Source #

The budget the boot hands the meter and the sampler, in bytes of live data.

Constructors

TransientBudget 

Fields