Package jline.io
Class Ret.FJApprox
java.lang.Object
jline.io.Ret.FJApprox
- Enclosing class:
Ret
-
Field Summary
FieldsModifier and TypeFieldDescriptionAuxiliary-class source arrivals, owned by the forkLambda fixed point rather than by the base model: aux class index -> base class index, with auxDisabled marking those a cold call sets to Disabled.Base model the maps above refer to, and the forkLambda mmt was called with.The base model's compiled struct at the time this transformation was built.Slots the transformation itself initialises to Immediate (the joins it turns into zero-service delays), as "nodeIdx,classIdx".sort_forks output, cached alongside the transformation it describes.Provenance of the transformed model's service slots, recorded by mmt so that a cached transformation can be re-fed from the base model instead of rebuilt (see ModelAdapter.refreshServicesFromBase).Per slot, the base-model distribution object whose copy currently sits in that slot. -
Constructor Summary
Constructors -
Method Summary
-
Field Details
-
nonfjmodel
-
fjclassmap
-
fjforkmap
-
fj_auxiliary_delays
-
fanout
-
serviceSrc
Provenance of the transformed model's service slots, recorded by mmt so that a cached transformation can be re-fed from the base model instead of rebuilt (see ModelAdapter.refreshServicesFromBase). Rebuilding costs a full serialisation deep copy of the model per outer iteration, and SolverLN re-solves every layer on every fixed-point iteration. Key is the slot "nodeIdx,classIdx" of the transformed model; value is the base-model class index its service was copied from. A slot absent from this map is NOT base-derived and must never be read from the base. -
serviceSrcObj
Per slot, the base-model distribution object whose copy currently sits in that slot. Copying a distribution in the JAR means a serialisation round-trip (Copyable.copy), which is exactly the cost the cache exists to avoid, so a refresh re-copies only the slots whose base object is no longer the one we copied. That identity test is sound because base distributions are never mutated in place -- every writer replaces the object via setService (the single updateRate call in the tree acts on the transformed model's source arrivals, not on any base distribution). -
immediateSlots
Slots the transformation itself initialises to Immediate (the joins it turns into zero-service delays), as "nodeIdx,classIdx". These must be restored on reuse rather than merely skipped: the fork loop overwrites each join with its current synchronisation delay on every pass, so a reused model otherwise still holds the previous outer iteration's converged value and silently warm-starts the fork loop. -
auxArrivalSrc
Auxiliary-class source arrivals, owned by the forkLambda fixed point rather than by the base model: aux class index -> base class index, with auxDisabled marking those a cold call sets to Disabled. Reset from forkLambdaInit on reuse. -
auxDisabled
-
baseModel
Base model the maps above refer to, and the forkLambda mmt was called with. -
forkLambdaInit
-
baseSn
The base model's compiled struct at the time this transformation was built. The transformation is a function of the fork topology, which the struct encodes, so a cached FJApprox may only be reused while this is still identically the model's current struct: refreshStruct installs a NEW NetworkStruct, hence identity change == structural change. Holding the reference also stops the object being collected and its identity recycled. -
outerForks
sort_forks output, cached alongside the transformation it describes. -
parentForks
-
-
Constructor Details
-
FJApprox
-
-
Method Details
-
slot
Slot key for serviceSrc / immediateSlots.
-