Class RoutingPlan
java.lang.Object
com.iizix.server.push.engine.RoutingPlan
- All Implemented Interfaces:
IRoutingPlan
The routing plan of a send: the resolved targets grouped into one slice per region, plus the targets the plan rejected before any dispatch and why.
On this single-server deployment every slice's dispatch target is local and reachable (RoutingPlan.LocalDispatchTarget); the region grouping is what the audit record and the progress listener report, and what a future remote dispatch will fan out over without an interface change.
- Author:
- Christopher Mindus
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classOne region's slice.static final recordA target rejected at plan time, with its outcome.Nested classes/interfaces inherited from interface IRoutingPlan
IRoutingPlan.IRegionSliceMethod Summary
Modifier and TypeMethodDescriptionGets every target that will be dispatched.intGets the total number of subscriptions the filter matched, across every outcome — delivered, excluded, unauthorized, unresolved, and held.Gets the slices with their targets.Gets the targets rejected at plan time.Gets the per-region slices of this plan, each naming a target region and the counts of subscriptions bound for each delivery tier within it.booleanReports whether this plan crosses more than one region — i.e.
Method Details
getSlices
Description copied from interface:IRoutingPlanGets the per-region slices of this plan, each naming a target region and the counts of subscriptions bound for each delivery tier within it.- Specified by:
getSlicesin interfaceIRoutingPlan- Returns:
- An unmodifiable list of region slices; never
null.
getRegionSlices
Gets the slices with their targets.- Returns:
- The slices in region order.
getRejected
Gets the targets rejected at plan time.- Returns:
- The unmodifiable list.
getMatchedCount
public int getMatchedCount()Description copied from interface:IRoutingPlanGets the total number of subscriptions the filter matched, across every outcome — delivered, excluded, unauthorized, unresolved, and held. This is the denominator the operator sees; every matched subscription is accounted for in exactly one bucket.- Specified by:
getMatchedCountin interfaceIRoutingPlan- Returns:
- The count of matched subscriptions.
isMultiRegion
public boolean isMultiRegion()Description copied from interface:IRoutingPlanReports whether this plan crosses more than one region — i.e. the filter's matches split across regions and the send fans out. A single-region or single-server plan does not.- Specified by:
isMultiRegionin interfaceIRoutingPlan- Returns:
trueif the plan spans more than one region slice.
getDispatchTargets
Gets every target that will be dispatched.- Returns:
- The targets of all slices.