module Ecluse.Composition.MemoryPlan.Internal (
PlanInputs (..),
TenantDemands (..),
OverridePins (..),
ShedOutcomes (..),
) where
import Ecluse.Composition.MemoryPlan.Types (QueueTenantDemand)
import Ecluse.Config (CacheSettings, LimitsSettings, QueueSettings)
data PlanInputs = PlanInputs
{ PlanInputs -> CacheSettings
piCache :: CacheSettings
, PlanInputs -> LimitsSettings
piLimits :: LimitsSettings
, PlanInputs -> QueueSettings
piQueue :: QueueSettings
, PlanInputs -> Maybe Int
piExplicitAdmission :: Maybe Int
, PlanInputs -> Bool
piPublishConfigured :: Bool
, PlanInputs -> QueueTenantDemand
piQueueDemand :: QueueTenantDemand
, PlanInputs -> Int
piCapabilities :: Int
, PlanInputs -> Int
piAllocAreaBytes :: Int
, PlanInputs -> Int
piCpuAdmission :: Int
, PlanInputs -> Text
piCpuAdmissionLine :: Text
, PlanInputs -> Text
piCeilingClause :: Text
}
data TenantDemands = TenantDemands
{ TenantDemands -> Int
tdCeiling :: Int
, TenantDemands -> Int
tdReserve :: Int
, TenantDemands -> Int
tdFixedBuffers :: Int
, TenantDemands -> OverridePins
tdPins :: OverridePins
, TenantDemands -> Int
tdCacheDesired :: Int
, TenantDemands -> Maybe Int
tdCacheEntriesExplicit :: Maybe Int
, TenantDemands -> Int
tdResponseFinal :: Int
, TenantDemands -> Int
tdAdmissionDesired :: Int
, TenantDemands -> Bool
tdPublishConfigured :: Bool
, TenantDemands -> Int
tdPublishDesired :: Int
, TenantDemands -> Int
tdRequestFinal :: Int
, TenantDemands -> Int
tdRequestComputed :: Int
, TenantDemands -> Int
tdDepthDesired :: Int
, TenantDemands -> Bool
tdMemoryBacked :: Bool
, TenantDemands -> Bool
tdMirrors :: Bool
, TenantDemands -> Int
tdArtifactCapDesired :: Int
, TenantDemands -> Int
tdMirrorChargeDesired :: Int
}
data OverridePins = OverridePins
{ OverridePins -> Maybe Int
opCache :: Maybe Int
, OverridePins -> Maybe Int
opAdmission :: Maybe Int
, OverridePins -> Maybe Int
opResponse :: Maybe Int
, OverridePins -> Maybe Int
opRequest :: Maybe Int
, OverridePins -> Maybe Int
opDepth :: Maybe Int
, OverridePins -> Maybe Int
opArtifact :: Maybe Int
}
deriving stock (OverridePins -> OverridePins -> Bool
(OverridePins -> OverridePins -> Bool)
-> (OverridePins -> OverridePins -> Bool) -> Eq OverridePins
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: OverridePins -> OverridePins -> Bool
== :: OverridePins -> OverridePins -> Bool
$c/= :: OverridePins -> OverridePins -> Bool
/= :: OverridePins -> OverridePins -> Bool
Eq, Int -> OverridePins -> ShowS
[OverridePins] -> ShowS
OverridePins -> String
(Int -> OverridePins -> ShowS)
-> (OverridePins -> String)
-> ([OverridePins] -> ShowS)
-> Show OverridePins
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> OverridePins -> ShowS
showsPrec :: Int -> OverridePins -> ShowS
$cshow :: OverridePins -> String
show :: OverridePins -> String
$cshowList :: [OverridePins] -> ShowS
showList :: [OverridePins] -> ShowS
Show)
data ShedOutcomes = ShedOutcomes
{ ShedOutcomes -> Int
soMirrorShed :: Int
, ShedOutcomes -> Int
soArtifactCapFinal :: Int
, ShedOutcomes -> Int
soCacheShed :: Int
, ShedOutcomes -> Int
soCacheFinal :: Int
, ShedOutcomes -> Int
soAdmissionFinal :: Int
, ShedOutcomes -> Int
soResponseFinal :: Int
, ShedOutcomes -> Int
soPublishShed :: Int
, ShedOutcomes -> Int
soPublishFinal :: Int
, ShedOutcomes -> Int
soQueueShedBytes :: Int
, ShedOutcomes -> Int
soDepthFinal :: Int
, ShedOutcomes -> Int
soQueueTenantBytes :: Int
, ShedOutcomes -> Int
soResidualOvershoot :: Int
}