Class LqnRefRoutes
SolverLN gives every caller of a layer its own client chain, each carrying its own thread pool
as a population, so a layer holds one customer per caller even when those callers are the same REF
customers arriving by different routes. The caller set of a group, LqnRefRoutes.Group.members, is what
the refpath interlock method turns into ONE chain.
Nodes are ENTRIES, because the work a hop charges depends on which entry was called. Visits are
computed topologically, v(u) = sum over parents of v(p)*w(a)*callmean, and routes are
COUNTED in the same pass rather than enumerated. Only SYNC calls are followed: an ASYNC call is
send-no-reply, so the customer below it is not the REF customer.
INDEX BASE. LayeredNetworkStruct is 0-based, so every index here (tasks, entries,
activities, calls, and the positions into LqnRefRoutes.Group.entries) is 0-based as well.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classOne reference task and the synchronous DAG below it.static final classThe groups found, plus the reason for a fallback. -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intDefault route cap, config.interlock_maxpaths. -
Method Summary
Modifier and TypeMethodDescriptionstatic LqnRefRoutes.Resultlqn_ref_routes(LayeredNetworkStruct lqn, Collection<Integer> callers) static LqnRefRoutes.Resultlqn_ref_routes(LayeredNetworkStruct lqn, Collection<Integer> callers, double maxpaths, Collection<Integer> serverSet)
-
Field Details
-
DEFAULT_MAXPATHS
public static final int DEFAULT_MAXPATHSDefault route cap, config.interlock_maxpaths.- See Also:
-
-
Method Details
-
lqn_ref_routes
public static LqnRefRoutes.Result lqn_ref_routes(LayeredNetworkStruct lqn, Collection<Integer> callers) -
lqn_ref_routes
public static LqnRefRoutes.Result lqn_ref_routes(LayeredNetworkStruct lqn, Collection<Integer> callers, double maxpaths, Collection<Integer> serverSet) - Parameters:
lqn- the layered network structurecallers- task indices that call the layer's servermaxpaths- refuse the layer above this many reference-task routes into itserverSet- server elements of the layer, or null; a prefix node whose task is one of them is recursion and refuses the layer
-