| Safe Haskell | None |
|---|---|
| Language | GHC2021 |
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
- data MemoryPlan = MemoryPlan {
- mpRuntimeReserveBytes :: Int
- mpCacheAggregateBytes :: Int
- mpCacheMaxEntries :: Int
- mpMaxResponseBytes :: Int
- mpMaxRequestBytes :: Int
- mpAdmissionCapacity :: Int
- mpPublishTenant :: Maybe PublishTenant
- mpMirrorArtifactTenant :: Maybe MirrorArtifactTenant
- mpQueueMemoryMaxDepth :: Int
- mpQueueTenantBytes :: Int
- mpFixedBufferBytes :: Int
- mpTransientBudget :: TransientBudget
- mpDegradations :: [Text]
- mpOverrideViolations :: [Text]
- newtype PublishTenant = PublishTenant {}
- newtype MirrorArtifactTenant = MirrorArtifactTenant {
- matMaxBytes :: Int
- data QueueTenantDemand
- queueTenantDemand :: MirrorRuntimePlan -> QueueTenantDemand
- data TransientBudget = TransientBudget {}
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
| Show MemoryPlan Source # | |
Defined in Ecluse.Composition.MemoryPlan.Types Methods showsPrec :: Int -> MemoryPlan -> ShowS # show :: MemoryPlan -> String # showList :: [MemoryPlan] -> ShowS # | |
| Eq MemoryPlan Source # | |
Defined in Ecluse.Composition.MemoryPlan.Types | |
newtype PublishTenant Source #
The publish tenant: the aggregate byte-admission for concurrently buffered bodies.
Constructors
| PublishTenant | |
Fields | |
Instances
| Show PublishTenant Source # | |
Defined in Ecluse.Composition.MemoryPlan.Types Methods showsPrec :: Int -> PublishTenant -> ShowS # show :: PublishTenant -> String # showList :: [PublishTenant] -> ShowS # | |
| Eq PublishTenant Source # | |
Defined in Ecluse.Composition.MemoryPlan.Types Methods (==) :: PublishTenant -> PublishTenant -> Bool # (/=) :: PublishTenant -> PublishTenant -> Bool # | |
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
| |
Instances
| Show MirrorArtifactTenant Source # | |
Defined in Ecluse.Composition.MemoryPlan.Types Methods showsPrec :: Int -> MirrorArtifactTenant -> ShowS # show :: MirrorArtifactTenant -> String # showList :: [MirrorArtifactTenant] -> ShowS # | |
| Eq MirrorArtifactTenant Source # | |
Defined in Ecluse.Composition.MemoryPlan.Types Methods (==) :: MirrorArtifactTenant -> MirrorArtifactTenant -> Bool # (/=) :: MirrorArtifactTenant -> MirrorArtifactTenant -> Bool # | |
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. |
Instances
| Show QueueTenantDemand Source # | |
Defined in Ecluse.Composition.MemoryPlan.Types Methods showsPrec :: Int -> QueueTenantDemand -> ShowS # show :: QueueTenantDemand -> String # showList :: [QueueTenantDemand] -> ShowS # | |
| Eq QueueTenantDemand Source # | |
Defined in Ecluse.Composition.MemoryPlan.Types Methods (==) :: QueueTenantDemand -> QueueTenantDemand -> Bool # (/=) :: QueueTenantDemand -> QueueTenantDemand -> Bool # | |
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
| |
Instances
| Show TransientBudget Source # | |
Defined in Ecluse.Composition.MemoryPlan.Types Methods showsPrec :: Int -> TransientBudget -> ShowS # show :: TransientBudget -> String # showList :: [TransientBudget] -> ShowS # | |
| Eq TransientBudget Source # | |
Defined in Ecluse.Composition.MemoryPlan.Types Methods (==) :: TransientBudget -> TransientBudget -> Bool # (/=) :: TransientBudget -> TransientBudget -> Bool # | |